Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/65: Рейтинг темы: голосов - 65, средняя оценка - 4.75
0 / 0 / 1
Регистрация: 24.12.2013
Сообщений: 118

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

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

Студворк — интернет-сервис помощи студентам
Создать программу которая выделяет первое слово из строки.
Нужно использовать именно функцию, спасибо!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.11.2014, 14:42
Ответы с готовыми решениями:

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

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

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

16
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
17.11.2014, 14:52
C++
1
2
char s[100], *p;
p = strtok(s, " ");
0
Модератор
Эксперт С++
 Аватар для zss
13780 / 10973 / 6491
Регистрация: 18.12.2011
Сообщений: 29,259
17.11.2014, 14:55
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
0 / 0 / 1
Регистрация: 24.12.2013
Сообщений: 118
17.11.2014, 15:05  [ТС]
zss, в 4 строке как-то сложно написано, не понимаю что там происходит, ты не мог бы добавить комментарии, пожалуйста
0
Эксперт С++
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
17.11.2014, 15:08
C++
1
2
     char res[50],s[]="  Мама мыла раму.";
     SelectFirstWord(s,res);
0
0 / 0 / 1
Регистрация: 24.12.2013
Сообщений: 118
17.11.2014, 15:14  [ТС]
CheshireCat, Уважаемый эксперт, вы не подскажете, что происходит в этой строке программы?
C++
1
*(result++)=*(src++);
И какую роль играет переменная src в строке ниже
C++
1
while( *src!=' ' && *src!=0)
0
Эксперт С++
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
17.11.2014, 15:26
В цикле очередной символ сравнивается с пробелом и с концом строки. Цикл заканчивается, когда встречен либо пробел, либо конец строки.
А *(result++)=*(src++); - это типовое посимвольное копирование из src в result.
0
0 / 0 / 1
Регистрация: 24.12.2013
Сообщений: 118
17.11.2014, 15:33  [ТС]
CheshireCat, А как можно написать эту строку в более простом виде?
C++
1
*(result++)=*(src++);
0
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
17.11.2014, 15:43
понтуног,
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
0 / 0 / 1
Регистрация: 24.12.2013
Сообщений: 118
17.11.2014, 15:47  [ТС]
Kerry_Jr, может я и не силен в с++, но осмелюсь спросить, где изменяется переменная "i" для выполнения цикла?
0
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
17.11.2014, 15:55
Цитата Сообщение от понтуног Посмотреть сообщение
где изменяется переменная "i"
здесь
Цитата Сообщение от Kerry_Jr Посмотреть сообщение
result[i]=src[i++];
0
0 / 0 / 1
Регистрация: 24.12.2013
Сообщений: 118
17.11.2014, 17:00  [ТС]
Kerry_Jr, тут изменяется номер символа, это как в одномерном массиве, или я ошибаюсь
0
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
17.11.2014, 17:24
понтуног, С-строка - это одномерный массив символов; завершающим символом строки (но не обязательно завершающим элементом массива) является нуль-символ или нуль-терминатор
0
0 / 0 / 1
Регистрация: 24.12.2013
Сообщений: 118
17.11.2014, 17:49  [ТС]
Kerry_Jr, а ты не мог бы дать свои контакты, скайп или вконтакте, что-бы я смог с тобой пообщатся вне форума, а то ждать ответа тут очень долго
0
0 / 0 / 1
Регистрация: 24.12.2013
Сообщений: 118
18.11.2014, 22:26  [ТС]
А если слова будет разделять запятая а не пробел?
0
0 / 0 / 1
Регистрация: 24.12.2013
Сообщений: 118
18.11.2014, 22:33  [ТС]
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <cstdio>
using namespace std;
 
 
 
void slovo1(char *simv,char* result)
{
     int i = 0;
     while( simv[i]!=' ' || simv[i]!=',' || simv[i]!='.' && simv[i]!=0)
        result[i]=simv[i++];
     result[i]=0;
}
 
 
int main()
{
     char res[50],s[50];
     cin>>s;
     slovo1(s,res);
     cout<<res;
     return 0;
}
Программа выводит первое слово из строки с помощью функции, но не запускается что-то(точно знаю, что что-то не так в условии в функции)
0
 Аватар для Dennis Ritchie
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
18.11.2014, 22:53
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
 
void slovo1(char *simv, char *result)
{
     int i = 0;
     while(simv[i] != ' ' && simv[i] != ',' && simv[i] != '.' && simv[i] != 0)
        result[i] = simv[i++];
     result[i] = 0;
}
 
int main()
{
     char res[50], s[50];
     cin >> s;
     slovo1(s, res);
     cout << res;
     return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.11.2014, 22:53
Помогаю со студенческими работами здесь

Вывести первое слово и количество букв в третьем слове введённой пользователем строки, а также длину всей строки
Ввести с клавиатуры свою фамилию, имя и отчество как одно текстовое дано. Вывести имя и количество букв в третьем слове, а также длину всей...

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

Функция выделяющая подстроку заданной длины, начиная с заданного символа
Выделить подстроку заданной длины, начиная с заданного символа. Создать функцию, которая будет возвращать подстроку заданной длины. ...

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

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


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru