Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
понтуног
-156 / 0 / 0
Регистрация: 24.12.2013
Сообщений: 118
#1

Функция, выделяющая первое слово из строки - C++

17.11.2014, 14:42. Просмотров 1396. Ответов 16
Метки нет (Все метки)

Создать программу которая выделяет первое слово из строки.
Нужно использовать именно функцию, спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.11.2014, 14:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Функция, выделяющая первое слово из строки (C++):

Определить, содержит ли последнее слово строки букву, с которой начинается первое слово - C++
2.) В динамической памяти размещена строка символов. Определить, содержит ли последнее слово строки букву, с которой начинается первое...

Даны два слова.Верно ли,что первое слово начинается на ту же букву,на которую заканчивается второе слово (работа с символами строки) - C++
2)Даны два слова.Верно ли,что первое слово начинается на ту же букву,на которую заканчивается второе слово (работа с символами строки)

Строки. Перевернуть первое слово. - C++
перевернуть первое слово в строке по С++. помогите, за 30 минут нужно сделать !!!((

Считывается только первое слово из строки - C++
Считываю строки из файла. Почему-то считывается только первое слово из строки. Помогите while (a != "%") { file >> a; mass =...

Функция меняющая местами последнее слово строки на слово с указанным номером - C++
Помогите сделать функцию,которая в указанной строке меняет местами последнее слово и слово,номер которого определяется вторым параметром...

Как считать первое слово из каждой строки? - C++
Как считать первое слово из каждой строки из файла и записать в другой файл столбиком? Пробовал использовать char, string, getline и...

16
nmcf
5544 / 4854 / 1647
Регистрация: 14.04.2014
Сообщений: 19,710
17.11.2014, 14:52 #2
C++
1
2
char s[100], *p;
p = strtok(s, " ");
0
zss
Модератор
Эксперт С++
6537 / 6099 / 2009
Регистрация: 18.12.2011
Сообщений: 15,866
Завершенные тесты: 1
17.11.2014, 14:55 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void SelectFirstWord(char *src,char* result)
{
     while( *src!=' ' && *src!=0)
        *(result++)=*(src++);
     *result=0;
}
int main()
{
     char res[50],s[]="qwerty asd ff  ggg hhhh jjjj 123";
     SelectFirstWord(s,res);
     cout<<res;
     return 0;
}
0
понтуног
-156 / 0 / 0
Регистрация: 24.12.2013
Сообщений: 118
17.11.2014, 15:05  [ТС] #4
zss, в 4 строке как-то сложно написано, не понимаю что там происходит, ты не мог бы добавить комментарии, пожалуйста
0
CheshireCat
Эксперт С++
2895 / 1244 / 78
Регистрация: 27.05.2008
Сообщений: 3,397
17.11.2014, 15:08 #5
C++
1
2
     char res[50],s[]="  Мама мыла раму.";
     SelectFirstWord(s,res);
0
понтуног
-156 / 0 / 0
Регистрация: 24.12.2013
Сообщений: 118
17.11.2014, 15:14  [ТС] #6
CheshireCat, Уважаемый эксперт, вы не подскажете, что происходит в этой строке программы?
C++
1
*(result++)=*(src++);
И какую роль играет переменная src в строке ниже
C++
1
while( *src!=' ' && *src!=0)
0
CheshireCat
Эксперт С++
2895 / 1244 / 78
Регистрация: 27.05.2008
Сообщений: 3,397
17.11.2014, 15:26 #7
В цикле очередной символ сравнивается с пробелом и с концом строки. Цикл заканчивается, когда встречен либо пробел, либо конец строки.
А *(result++)=*(src++); - это типовое посимвольное копирование из src в result.
0
понтуног
-156 / 0 / 0
Регистрация: 24.12.2013
Сообщений: 118
17.11.2014, 15:33  [ТС] #8
CheshireCat, А как можно написать эту строку в более простом виде?
C++
1
*(result++)=*(src++);
0
Kerry_Jr
Модератор
Эксперт PHP
2206 / 2002 / 701
Регистрация: 14.05.2014
Сообщений: 5,867
Записей в блоге: 1
Завершенные тесты: 5
17.11.2014, 15:43 #9
понтуног,
C++
1
2
3
4
5
6
7
void SelectFirstWord(char *src,char* result)
{
     int i = 0;
     while( src[i]!=' ' && src[i]!=0)
        result[i]=src[i++];
     result[i]=0;
}
0
понтуног
-156 / 0 / 0
Регистрация: 24.12.2013
Сообщений: 118
17.11.2014, 15:47  [ТС] #10
Kerry_Jr, может я и не силен в с++, но осмелюсь спросить, где изменяется переменная "i" для выполнения цикла?
0
Kerry_Jr
Модератор
Эксперт PHP
2206 / 2002 / 701
Регистрация: 14.05.2014
Сообщений: 5,867
Записей в блоге: 1
Завершенные тесты: 5
17.11.2014, 15:55 #11
Цитата Сообщение от понтуног Посмотреть сообщение
где изменяется переменная "i"
здесь
Цитата Сообщение от Kerry_Jr Посмотреть сообщение
result[i]=src[i++];
0
понтуног
-156 / 0 / 0
Регистрация: 24.12.2013
Сообщений: 118
17.11.2014, 17:00  [ТС] #12
Kerry_Jr, тут изменяется номер символа, это как в одномерном массиве, или я ошибаюсь
0
Kerry_Jr
Модератор
Эксперт PHP
2206 / 2002 / 701
Регистрация: 14.05.2014
Сообщений: 5,867
Записей в блоге: 1
Завершенные тесты: 5
17.11.2014, 17:24 #13
понтуног, С-строка - это одномерный массив символов; завершающим символом строки (но не обязательно завершающим элементом массива) является нуль-символ или нуль-терминатор
0
понтуног
-156 / 0 / 0
Регистрация: 24.12.2013
Сообщений: 118
17.11.2014, 17:49  [ТС] #14
Kerry_Jr, а ты не мог бы дать свои контакты, скайп или вконтакте, что-бы я смог с тобой пообщатся вне форума, а то ждать ответа тут очень долго
0
понтуног
-156 / 0 / 0
Регистрация: 24.12.2013
Сообщений: 118
18.11.2014, 22:26  [ТС] #15
А если слова будет разделять запятая а не пробел?
0
18.11.2014, 22:26
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.11.2014, 22:26
Привет! Вот еще темы с ответами:

Выделить первое слово из строки(работа с указателями) - C++
Здравствуйте, помогите пожалуйста, в чем ошибка в моем коде: #include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;string.h&gt; using...

Переход на следующую строку, первое слово строки - C++
Есть текстовый файл состоящий из строк (Максимальная длина - 256). Необходимо считывать первое слово строки, и если оно равно какому-то...

Приписать первое слово второй строки к первой - C++
Заданы 2 строки, состоящие из слов, разделенных пробелами. Приписать первое слово второй строки к первой. Получить из измененной первой...

Заменить первое слово строки тремя звездочками - C++
заменить первое слово на 3 звездачки


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru