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

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

Войти
Регистрация
Восстановить пароль
 
kornelyk
1 / 1 / 0
Регистрация: 07.01.2012
Сообщений: 145
#1

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

10.12.2013, 14:35. Просмотров 355. Ответов 7
Метки нет (Все метки)

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

Строки. В заданном тексте найти самое длинное слово и самое длинное предложение. - C++
Задача: В заданном тексте найти самое длинное слово и самое длинное предложение. Помогите решить На СИ++ в Visual Studio.

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

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

Как найти самое длинное слово в сообщении? - C++
Найти самое длинное слово в сообщении C++ можно с обьяснениями пожалуйста

Как найти самое длинное (короткое) слово? - C++
как найти самое длинное(самое короткое) слово? #include <iostream> #include <sstream> #include <string> #include <algorithm> ...

Найдите самое длинное, и самое короткое слово в заданном предложении - C++
Найдите самое длинное и самое короткое слово в заданном предложении.

7
egor2116
451 / 375 / 42
Регистрация: 20.01.2013
Сообщений: 1,135
10.12.2013, 14:48 #2
1. Читаем в переменную строку.
2. Разделяем строку на слова по разделителю в массив.
3. В цикле перебираем массив и определяем длину каждого слова и определяем макс число, и запоминаем индекс этого слова в массиве.
4. Выводим это слово на экран и его длину.
0
kornelyk
1 / 1 / 0
Регистрация: 07.01.2012
Сообщений: 145
10.12.2013, 15:13  [ТС] #3
а вот как это все записать на с++? принцип понятен
0
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;
}
1
egor2116
451 / 375 / 42
Регистрация: 20.01.2013
Сообщений: 1,135
10.12.2013, 17:08 #5
for(i=0; arr[!i?i:i-1]; i++){
боже спаси нас и огороди от этого.
2
Darthriddikc
10 / 10 / 0
Регистрация: 23.12.2012
Сообщений: 45
10.12.2013, 17:25 #6
Цитата Сообщение от egor2116 Посмотреть сообщение
боже спаси нас и огороди от этого.
Я ждал, когда кто-нибудь на счёт этого что-то скажет
Но иначе тут надо будет хотя бы бесконечный цикл делать, и в теле прописывать кучу if'ов

Добавлено через 5 минут
и break'ов
1
rangerx
1941 / 1550 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
10.12.2013, 17:44 #7
Цитата Сообщение от Darthriddikc Посмотреть сообщение
Но иначе тут надо будет хотя бы бесконечный цикл делать, и в теле прописывать кучу if'ов
и break'ов
Написать программу, которая находит самое длинное слово, встречающееся в предложении
1
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;
}
1
10.12.2013, 18:12
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.12.2013, 18:12
Привет! Вот еще темы с ответами:

В заданной строке определить самое длинное и самое короткое слово - C++
Ввести несколько строк,каждая из которых содержит некоторое количество слов.В заданной строке определить самое длинное и самое короткое...

Дан текст из нескольки строк, определить самое длинное и самое короткое слово - C++
Вот задание: Дан текст из нескольки строк, определить самое длинное и самое короткое слово.... Я смог решить тока для одной...

Ввести строку, содержащую несколько слов. Определить самое длинное и самое короткое слово - C++
Здравствуйте, не могли бы мне помочь с кодом. Как его переписать, чтобы программа работала? #include &lt;iostream&gt; #include &lt;cstdlib&gt; ...

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


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

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

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