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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.88
egormolokov
0 / 0 / 0
Регистрация: 26.04.2012
Сообщений: 12
#1

Найти самое длинное слово, которое заканчивается на "н" - C++

20.05.2012, 00:32. Просмотров 1951. Ответов 9
Метки нет (Все метки)

Дана строка текста, в которой слова разделены пробелами и запятыми. Необходимо:
найти самое длинное слово, которое заканчивается на "н"
исключить эти слова из строки
вывести результат в файл
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.05.2012, 00:32     Найти самое длинное слово, которое заканчивается на "н"
Посмотрите здесь:

Найти самое длинное слово C++
C++ Найти самое длинное слово, которое содержит изображение десятичного числа
Найти в тексте самое длинное слово, которое состоит из цифр C++
C++ Распечатать самое длинное слово, первые две буквы которого "КО"
C++ Найти самое короткое слово в строке, которое заканчивается на букву «а»
C++ Найти самое короткое слово в строке, которое заканчивается на букву "а"
C++ Дан текстовый файл F. найти самое долгое слово, вторая буква которых "о". если слов с одинаковой длинной несколько, то сообщить об этом
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Gepar
 Аватар для Gepar
1175 / 531 / 20
Регистрация: 01.07.2009
Сообщений: 3,516
20.05.2012, 00:47     Найти самое длинное слово, которое заканчивается на "н" #2
Скучное задание, воспользуйся поиском по форуму, 100500 раз писал парсер слов. Тебе нужно тоже самое + проверка что слово заканчивается на 'н'.
egormolokov
0 / 0 / 0
Регистрация: 26.04.2012
Сообщений: 12
20.05.2012, 00:54  [ТС]     Найти самое длинное слово, которое заканчивается на "н" #3
мне код нужен
rapidexact
20.05.2012, 01:00
  #4

Не по теме:

Здесь помогают с твоими вопросами, или ошибками, а полностью писать прогу это в раздел "программы на заказ" или как-то так.

Gepar
 Аватар для Gepar
1175 / 531 / 20
Регистрация: 01.07.2009
Сообщений: 3,516
20.05.2012, 01:10     Найти самое длинное слово, которое заканчивается на "н" #5
Цитата Сообщение от egormolokov Посмотреть сообщение
мне код нужен
Ну полностью готового кода не будет (будет просто парсер слов), скучно эти парсеры писать так что самому тебе нуно будет подредактировать его чтобы на буквы "н" внимание обращал, усилий не так много для этого и надо чтобы дописать. Ну или плати денюжку в "заказать программу" если лень во всём разбираться и дописывать.
egormolokov
0 / 0 / 0
Регистрация: 26.04.2012
Сообщений: 12
20.05.2012, 08:35  [ТС]     Найти самое длинное слово, которое заканчивается на "н" #6
ок скиньте ссылку на парсер если не трудно спасибо
zitxbit
Master C/C++
 Аватар для zitxbit
87 / 739 / 75
Регистрация: 11.04.2012
Сообщений: 971
26.05.2012, 14:44     Найти самое длинное слово, которое заканчивается на "н" #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <stdio.h>
#include <ctype.h>
#include <string.h>
 
int main()
{
    static char psz[256] = "lemon apple ten violin gain span grain camin token\0";
 
    int max = 0, max_i = max;
    for (int i = 0; psz[i] != '\0'; i++)
        if ((isspace(psz[i])) || (i == strlen(psz)-1))
            if (psz[i-1] == 'n')
            {
                int k = i-1;
                while ((psz[k] != ' ') && (k > 0)) k--;
                int delta = (k <= 0) ? i : (i - k) - 1;
                if (delta > max) { max = delta; max_i = k+1; }
            }
 
    for (int i = max_i; !isspace(psz[i]); i++)
        printf("%c",psz[i]);
    printf("\n");
 
    return 0;
}
http://liveworkspace.org/code/e224e2...e088a02a51def6
egormolokov
0 / 0 / 0
Регистрация: 26.04.2012
Сообщений: 12
26.05.2012, 18:48  [ТС]     Найти самое длинное слово, которое заканчивается на "н" #8
спасибо огромное
igorrr37
 Аватар для igorrr37
1600 / 1228 / 121
Регистрация: 21.12.2010
Сообщений: 1,875
Записей в блоге: 7
29.05.2012, 20:50     Найти самое длинное слово, которое заканчивается на "н" #9
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <iostream>
#include <string>
#include <fstream>
 
int main()
{
    std::fstream ifs("1.txt", std::ios::in), ofs("2.txt", std::ios::out);
    if(ifs.is_open() && ofs.is_open())
    {
        std::string s((std::istreambuf_iterator<char>(ifs.rdbuf())), std::istreambuf_iterator<char>()), sDelims(" ,\n");
        s += sDelims.front();
        std::string::size_type iBeg(0), iEnd(0), maxLen(0);
        for(iBeg = 0, iEnd = 0; ((iBeg = s.find_first_not_of(sDelims, iEnd)) != std::string::npos) && ((iEnd = s.find_first_of(sDelims, iBeg)) != std::string::npos); )
        {
            if(-19 == s.at(iEnd - 1) && iEnd - iBeg > maxLen)
            {
                maxLen = iEnd - iBeg;
            }
        }
        for(iBeg = 0, iEnd = 0; ((iBeg = s.find_first_not_of(sDelims, iEnd)) != std::string::npos) && ((iEnd = s.find_first_of(sDelims, iBeg)) != std::string::npos); )
        {
            if(-19 == s.at(iEnd - 1) && iEnd - iBeg == maxLen)
            {
                s.erase(iBeg, iEnd - iBeg);
                iEnd = iBeg;
            }
        }
        ofs << s;
    }
    else std::cerr << "Unable to open file(s)\n";
    ifs.close();
    ofs.close();
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.05.2012, 22:45     Найти самое длинное слово, которое заканчивается на "н"
Еще ссылки по теме:

Найти самое длинное слово C++
Найти самое короткое и самое длинное слово C++ C++
C++ Найти слово в фразе из 3 слов, которое начинаеться на букву "M"
Найти самое длинное слово, которое встречаеться в двух строках C++

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

Или воспользуйтесь поиском по форуму:
egormolokov
0 / 0 / 0
Регистрация: 26.04.2012
Сообщений: 12
29.05.2012, 22:45  [ТС]     Найти самое длинное слово, которое заканчивается на "н" #10
спасибо
Yandex
Объявления
29.05.2012, 22:45     Найти самое длинное слово, которое заканчивается на "н"
Ответ Создать тему
Опции темы

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