| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Робота со строками |
| Автор: xxxborland89 23.11.2007, 23:26 |
| # include <iostream.h> # include <conio.h> # include <stdio.h> # include <string.h> int main (){ int const n=30; int i, j, k=0; char s[n]; char *s1; char *s2; char a; cout <<"input string\n"; gets(s); a=strlen(s); for (i=0;i<a;i++){ k=0; s1= strtok(s," "); for (j=0;j<a;j++){ s2=strtok(s," "); if(s1==s2)k++; if(k==1)puts(s1);}} getch(); return 0;} как сделать что бы при каждой итерацыи цыкла функцыя strtok() перескаковала на следуйщее слово |
| Автор: xxxborland89 23.11.2007, 23:42 |
| подскажите где у меня ошибка. # include <iostream.h> # include <conio.h> # include <stdio.h> # include <string.h> int main (){ int const n=30; int i, j, k=0; char s[n]; char *s1; char *s2; char a; cout <<"input string\n"; gets(s); a=strlen(s); for (i=0;i<a;i++){ k=0; s1 = strtok(NULL, " "); cout<<s1<<" "; for (j=0;j<a;j++){ s2 = strtok(NULL, " "); if(s1==s2)k++; // cout<<k<<"\n"; if(k==1)puts(s1);}} getch(); return 0;} |
| Автор: archimed7592 23.11.2007, 23:44 |
| Обязательно подскажу как только отредактируешь свой пост, воспользовавшись при этом кнопкой "Код" или тегом CODE. |
| Автор: MAKCim 23.11.2007, 23:50 |
| xxxborland89, прочти внимательно, что написал archimed7592 в первом посте и отредактируй сообщения |
| Автор: xxxborland89 23.11.2007, 23:57 | ||
так, что ли? |
| Автор: archimed7592 23.11.2007, 23:58 | ||
Да. Ошибка здесь: Должно быть:
|
| Автор: xxxborland89 24.11.2007, 00:03 |
| я это с первого раза понял, но оно всё равно не работает |
| Автор: archimed7592 24.11.2007, 00:06 |
| Могу только посоветовать обзавестись диоптриями, раз зрение такое плохое. |
| Автор: xxxborland89 24.11.2007, 00:06 | ||
тоисть длжно быть вот так?
|
| Автор: archimed7592 24.11.2007, 00:08 |
Нет. Читай внимательней. |
| Автор: xxxborland89 24.11.2007, 00:09 | ||
Очень смешно. |
| Автор: archimed7592 24.11.2007, 00:12 |
Ты не поверишь, но мне тоже смешно видеть человека, который ради того чтобы решить свою проблему не готов хотя бы внимательно прочитать ответы(я молчу о том, чтобы попытаться разобраться самому). |
| Автор: MAKCim 24.11.2007, 00:13 | ||
xxxborland89,
Добавлено через 1 минуту и 33 секунды честное слово смешно, без обид |
| Автор: xxxborland89 24.11.2007, 00:16 |
| я только учюсь на 1-м курсе и строки мы прошли буквально за пол пары, поэтому я не совсем их понял! |
| Автор: MAKCim 24.11.2007, 00:23 | ||
ответ был дан во втором посте читать нужно внимательно и строки здесь не причем |
| Автор: xxxborland89 24.11.2007, 00:28 | ||||
может я чтото не доганяю , но разве здесь оно не заносит, при каждой итерацыи цыкла, в строку s1 символі до первого пробела?
а здесь просто заносит в строку s2 значение строки s без первого слова
Добавлено через 12 минут и 44 секунды мне надо: допустим есть строка: aaa ggg ggg hhh aaa при 1-й итерацыи s1= aaa 2-й s1=ggg 3-й s1=ggg 4-й s1=hhh как это сделать ? |
| Автор: MAKCim 24.11.2007, 00:56 | ||||
|
| Автор: Dov 24.11.2007, 01:20 | ||
|
| Автор: xxxborland89 24.11.2007, 01:26 | ||
объясните пожалуйста, что делается в этой строке?
|
| Автор: archimed7592 24.11.2007, 01:28 |
То же самое, что и в строкес тем лишь отличием, что делается это с ограничением максимального количества вводимых символов(n). |