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

как подсчитать самое длинное слово? - C++

Восстановить пароль Регистрация
 
kornelyk
 Аватар для kornelyk
1 / 1 / 0
Регистрация: 07.01.2012
Сообщений: 141
10.12.2013, 14:35     как подсчитать самое длинное слово? #1
Задано предложение-строка. Написать программу, которая находит самое длинное слово, встречающееся в предложении.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2013, 14:35     как подсчитать самое длинное слово?
Посмотрите здесь:

Поменять местами самое длинное слово и самое короткое слово в тексте C++
C++ Дан текст из нескольки строк, определить самое длинное и самое короткое слово
Напечатать самое длинное и самое короткое слово в строке C++
C++ Строки. В заданном тексте найти самое длинное слово и самое длинное предложение.
C++ В заданной строке определить самое длинное и самое короткое слово
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
egor2116
 Аватар для egor2116
337 / 368 / 42
Регистрация: 20.01.2013
Сообщений: 1,100
10.12.2013, 14:48     как подсчитать самое длинное слово? #2
1. Читаем в переменную строку.
2. Разделяем строку на слова по разделителю в массив.
3. В цикле перебираем массив и определяем длину каждого слова и определяем макс число, и запоминаем индекс этого слова в массиве.
4. Выводим это слово на экран и его длину.
kornelyk
 Аватар для kornelyk
1 / 1 / 0
Регистрация: 07.01.2012
Сообщений: 141
10.12.2013, 15:13  [ТС]     как подсчитать самое длинное слово? #3
а вот как это все записать на с++? принцип понятен
Darthriddikc
10 / 10 / 0
Регистрация: 23.12.2012
Сообщений: 45
10.12.2013, 16:27     как подсчитать самое длинное слово? #4
Вот, НО этот вариант годен, если в предложении нет других символов кроме букв...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
using namespace std;
int main(){
    char arr[64], arrWord[64];
    int num=0, numNext=0, i, j;
    gets(arr); // Вводим предложение
    for(i=0; arr[!i?i:i-1]; i++){
        if(arr[i]==' ' || arr[i]=='\0'){
            if (num<numNext){
                num=numNext;
                for(j=0; numNext!=0; j++, numNext--)
                    arrWord[j]=arr[i-numNext];
                arrWord[j]=0;
            }
            numNext=0;
        }
        else
            numNext++;
    }
    cout<<num<<' '<<arrWord<<endl;
    return 0;
}
egor2116
 Аватар для egor2116
337 / 368 / 42
Регистрация: 20.01.2013
Сообщений: 1,100
10.12.2013, 17:08     как подсчитать самое длинное слово? #5
for(i=0; arr[!i?i:i-1]; i++){
боже спаси нас и огороди от этого.
Darthriddikc
10 / 10 / 0
Регистрация: 23.12.2012
Сообщений: 45
10.12.2013, 17:25     как подсчитать самое длинное слово? #6
Цитата Сообщение от egor2116 Посмотреть сообщение
боже спаси нас и огороди от этого.
Я ждал, когда кто-нибудь на счёт этого что-то скажет
Но иначе тут надо будет хотя бы бесконечный цикл делать, и в теле прописывать кучу if'ов

Добавлено через 5 минут
и break'ов
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
10.12.2013, 17:44     как подсчитать самое длинное слово? #7
Цитата Сообщение от Darthriddikc Посмотреть сообщение
Но иначе тут надо будет хотя бы бесконечный цикл делать, и в теле прописывать кучу if'ов
и break'ов
Написать программу, которая находит самое длинное слово, встречающееся в предложении
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.12.2013, 18:12     как подсчитать самое длинное слово?
Еще ссылки по теме:

Найдите самое длинное, и самое короткое слово в заданном предложении C++
Как найти самое длинное (короткое) слово? C++

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

Или воспользуйтесь поиском по форуму:
Peperovich
43 / 43 / 4
Регистрация: 17.05.2011
Сообщений: 162
10.12.2013, 18:12     как подсчитать самое длинное слово? #8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <boost/algorithm/string.hpp>
#include <boost/regex.hpp>
#include <algorithm>
#include <string>
#include <iostream>
 
using namespace std;
 
bool myfn(string i, string j) { return i.length()<j.length(); }
 
int main()
{
    string sA = "Изучаем программирование самостоятельно";
    boost::regex sReg ("([А-Яа-яA-Za-z])+" );
    boost::sregex_token_iterator xIt(sA.begin(), sA.end(), sReg, 0);
    boost::sregex_token_iterator xInvalidIt;
    cout<<*max_element(xIt, xInvalidIt, myfn);
    system( "pause" );
    return 0;
}
Yandex
Объявления
10.12.2013, 18:12     как подсчитать самое длинное слово?
Ответ Создать тему
Опции темы

Текущее время: 05:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru