0 / 0 / 1
Регистрация: 24.12.2013
Сообщений: 118
1

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

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

Создать программу которая выделяет первое слово из строки.
Нужно использовать именно функцию, спасибо!
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.11.2014, 14:42
Ответы с готовыми решениями:

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

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

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

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

16
7166 / 6141 / 2802
Регистрация: 14.04.2014
Сообщений: 26,462
17.11.2014, 14:52 2
C++
1
2
char s[100], *p;
p = strtok(s, " ");
0
Модератор
Эксперт С++
12098 / 9771 / 5908
Регистрация: 18.12.2011
Сообщений: 26,229
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
0 / 0 / 1
Регистрация: 24.12.2013
Сообщений: 118
17.11.2014, 15:05  [ТС] 4
zss, в 4 строке как-то сложно написано, не понимаю что там происходит, ты не мог бы добавить комментарии, пожалуйста
0
Эксперт С++
2924 / 1273 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
17.11.2014, 15:08 5
C++
1
2
     char res[50],s[]="  Мама мыла раму.";
     SelectFirstWord(s,res);
0
0 / 0 / 1
Регистрация: 24.12.2013
Сообщений: 118
17.11.2014, 15:14  [ТС] 6
CheshireCat, Уважаемый эксперт, вы не подскажете, что происходит в этой строке программы?
C++
1
*(result++)=*(src++);
И какую роль играет переменная src в строке ниже
C++
1
while( *src!=' ' && *src!=0)
0
Эксперт С++
2924 / 1273 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
17.11.2014, 15:26 7
В цикле очередной символ сравнивается с пробелом и с концом строки. Цикл заканчивается, когда встречен либо пробел, либо конец строки.
А *(result++)=*(src++); - это типовое посимвольное копирование из src в result.
0
0 / 0 / 1
Регистрация: 24.12.2013
Сообщений: 118
17.11.2014, 15:33  [ТС] 8
CheshireCat, А как можно написать эту строку в более простом виде?
C++
1
*(result++)=*(src++);
0
Эксперт PHP
3101 / 2586 / 1219
Регистрация: 14.05.2014
Сообщений: 7,231
Записей в блоге: 1
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
0 / 0 / 1
Регистрация: 24.12.2013
Сообщений: 118
17.11.2014, 15:47  [ТС] 10
Kerry_Jr, может я и не силен в с++, но осмелюсь спросить, где изменяется переменная "i" для выполнения цикла?
0
Эксперт PHP
3101 / 2586 / 1219
Регистрация: 14.05.2014
Сообщений: 7,231
Записей в блоге: 1
17.11.2014, 15:55 11
Цитата Сообщение от понтуног Посмотреть сообщение
где изменяется переменная "i"
здесь
Цитата Сообщение от Kerry_Jr Посмотреть сообщение
result[i]=src[i++];
0
0 / 0 / 1
Регистрация: 24.12.2013
Сообщений: 118
17.11.2014, 17:00  [ТС] 12
Kerry_Jr, тут изменяется номер символа, это как в одномерном массиве, или я ошибаюсь
0
Эксперт PHP
3101 / 2586 / 1219
Регистрация: 14.05.2014
Сообщений: 7,231
Записей в блоге: 1
17.11.2014, 17:24 13
понтуног, С-строка - это одномерный массив символов; завершающим символом строки (но не обязательно завершающим элементом массива) является нуль-символ или нуль-терминатор
0
0 / 0 / 1
Регистрация: 24.12.2013
Сообщений: 118
17.11.2014, 17:49  [ТС] 14
Kerry_Jr, а ты не мог бы дать свои контакты, скайп или вконтакте, что-бы я смог с тобой пообщатся вне форума, а то ждать ответа тут очень долго
0
0 / 0 / 1
Регистрация: 24.12.2013
Сообщений: 118
18.11.2014, 22:26  [ТС] 15
А если слова будет разделять запятая а не пробел?
0
0 / 0 / 1
Регистрация: 24.12.2013
Сообщений: 118
18.11.2014, 22:33  [ТС] 16
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
555 / 148 / 58
Регистрация: 27.07.2014
Сообщений: 2,446
18.11.2014, 22:53 17
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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.11.2014, 22:53
Помогаю со студенческими работами здесь

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

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

Считывается только первое слово из строки
Считываю строки из файла. Почему-то считывается только первое слово из строки. Помогите while (a...

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru