Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.62
flutesa
0 / 0 / 0
Регистрация: 30.11.2008
Сообщений: 3
#1

Написать функцию выделения первого слова из строки - C++

30.11.2008, 20:29. Просмотров 1590. Ответов 3
Метки нет (Все метки)

Написать эту функцию - это ещё пол беды. Ещё необходимо ИСПОЛЬЗУЯ именно эту функцию найти в строке первое слово (не число) максимальной длины.
(Не нужно создавать новую функцию для этого.)
Язык С++

Вот что у меня недополучилось:
Код
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
#include<string.h>

char *s;

char *slovo(char *s) {
int i=0 , d, n;
while (s[i]==' ') i++; n=i;
while (s[i]!=' ' && s[i]) i++;
d=i-n;

char *st= new char[d+1];

strncpy(st, s+n, d);
st[d]='\0';
return st; }

void main() {
char *g;
puts("\n vvedite stroku:"); gets(s);
g=slovo(s);
puts("\n 1-e slovo:");
puts(g);
getch();
}
Что-то здесь правильно не срабатывает, а ещё нужно эту функцию использовать при нахождении первого слова максимальной длины.

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

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

Написать программу выделения из строки заданного количества слов, начиная со слова с заданным номером. - C++
8.1.1. Помогите, пожалуйста, решить задачу в С++. Написать программу выделения из строки заданного количества слов, начиная со...

Написать программу добавления слова «hello» после первого слова введенной строки - C++
Написать программу добавления слова «hello» после первого слова введенной строки C++

Написать программу добавления слова «hello» после первого слова введенной строки - C++
Помогите( сколько искал ничего нету.

Написать функцию, выводящую на печать слова из заданной строки в алфавитном порядке - C++
Описать функцию fun(B), которая принимает в виде параметра строку В, состоящую из трех слов, в каждом из которых от 2 до 7 латинских букв...

Написать функцию SubWord(s,n,L), которая выделяет из строки s L слов, начиная со слова с номером n - C++
#include &lt;iostream.h&gt; #include &lt;string.h&gt; #include &lt;stdio.h&gt; using namespace std; void SubWord(string str,int n,int 1){ int...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Spo1ler
292 / 52 / 3
Регистрация: 22.05.2008
Сообщений: 788
30.11.2008, 20:55 #2
Ищите с помощью ф-ции find первый разделитель(пробел, дефис, двоеточие), и все что до него - первое слово.
flutesa
0 / 0 / 0
Регистрация: 30.11.2008
Сообщений: 3
30.11.2008, 21:18  [ТС] #3
С выделением первого слова я разобралась. Криво-косо (т.е. теоретически), но эта функция работает.
Вопрос в том, как её вязать с нахождением первого максимально длинного слова.
StarWorm
17 / 16 / 4
Регистрация: 20.11.2008
Сообщений: 81
01.12.2008, 14:41 #4
Используй цикл с функцией strtok() и возвращай слово с максимальной strlen()
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.12.2008, 14:41
Привет! Вот еще темы с ответами:

Добавление слова «salut» после первого слова введенной строки - C++
Доброго времени суток. Нужна помощь со строками. Написать программу добавления слова «salut» после первого слова введенной строки. ...

Написать функцию, которая выводит на экран все слова за данной строки, в которые заданная буква входит N или более раз. - C++
нужна помошь! ни как не могу разобраться В главной программе ввести с клавиатуры две строки длиной до 50...80 символов соответственно,...

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

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
01.12.2008, 14:41
Ответ Создать тему
Опции темы

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