Страница 1 из 1
Помогите реализовать
Добавлено: 11 фев 2010, 18:03
Влад Молдавский
Суть моей проблемы состоит в непонимании реализации, не могу написать код, хотя теорию понимаю.
Текст вводится с клавиатуры, его необходимо разбить на слова и забить их в массив, каждый эелемент которого будет содержать отдельное слово.
Нужно ведь через gets забить текст какой мне необходим, а как дальше быть не понимаю

Re: Помогите реализовать
Добавлено: 11 фев 2010, 18:35
rrrFer
gets записывает строку в массив символов (одномерный). Вероятно Вам надо создать двумерный массив символов. Читать массивс формированный с помощью gets, искать в нем символы-разделители слов изаписывать слова в двумерный массив.
Предлогаю Вам разместить исходный код - чтобы было ясно что не получается и что были попытки решить самостоятельно - либо предложить вознаграждение за решение проблемы. Во втором случае могу решить я - ICQ 395546218
Re: Помогите реализовать
Добавлено: 11 фев 2010, 19:13
Влад Молдавский
В принципе и сама суть, что я не пойму как этот код сопоставить или как мне быть в общем.
Так и есть что необходим одномерный массив, больший вопрос у меня в том, что как мне поместить в массив слова. Текст я могу разбить с помощью функции
Код: Выделить всё
result = NULL;
probel = " ";
result = strtok(string, probel);
Потом как я понял нужно создать цикл
Код: Выделить всё
while(result != NULL)
{
char masstr[]; // и буквально с этого омента я не знаю как быть..
}
Re: Помогите реализовать
Добавлено: 11 фев 2010, 20:36
Влад Молдавский
Вот если я сделал кучоек программы:
Не могу понять как сделать массив строк..
Код: Выделить всё
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void main()
{
clrscr();
char string[80] = "Hello! I am Vlad.";
char *s;
//printf("Put your string \n");
//gets(string);
//clrscr();
printf("This is your string \n");
printf("%s \n\n", string);
//const char thing = " ";
s = strtok(string," ");
printf("Your string after change\n");
while(s != NULL)
{
printf("%s\n",s);
s = strtok(NULL, " " );
}
}
Объясните плз!

Re: Помогите реализовать
Добавлено: 11 фев 2010, 22:04
rrrFer
Код: Выделить всё
#include <stdio.h>
#include <conio.h>
#include <string.h>
int main(){
char *string,
**s;
int i,j;
const int N=10; //10 слов
s=new char*[N];
string = new char [80];
strcpy(string,"Hello! I am Vlad.");
for(i=0;i<N;i++)
s[i]=new char[80]; //слова длинной 80 символов
printf("This is your string \n");
printf("%s \n\n", string);
for(i=0,j=0;*string;string++)
if(*string==' '){
s[i][j]=0; //конец слова
j=0;
i++; //переходим на следущее слово
}
else
s[i][j++]=*string;
s[i++][j]=0;
for(j=0;j<i;j++)
printf("%s\n",s[j]);
getche();
return 0;
}
код ужасно плохой - но, возможно, поможет.