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

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

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

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

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

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

Найти самое короткое слово в строке, которое заканчивается на букву "а" - C++
Помогите пожалуйста с написанием программы. Вот задание... Дана строка текста в которой слова разделены пробелами.Необходимо: ...

Найти самое короткое слово в строке, которое заканчивается на букву «а» - C++
Помогите с написанием алгоритма. Заранее благодарен. Дана строка текста, в которой слова разделены пробелами и запятыми. Необходимо: ...

Найти самое длинное слово, которое встречаеться в двух строках - C++
Помогите пожалуйста! Задание : дано две строки. Найти самое длинное слово, которое встречаеться в обоих строках.

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

Распечатать самое длинное слово, первые две буквы которого "КО" - C++
Дана строка символов. Группу символов, разделенную с одной или с обеих сторон одним или несколькими пробелами и не содержащую внутри себя...

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

9
Gepar
1177 / 533 / 20
Регистрация: 01.07.2009
Сообщений: 3,517
20.05.2012, 00:47 #2
Скучное задание, воспользуйся поиском по форуму, 100500 раз писал парсер слов. Тебе нужно тоже самое + проверка что слово заканчивается на 'н'.
1
egormolokov
0 / 0 / 0
Регистрация: 26.04.2012
Сообщений: 12
20.05.2012, 00:54  [ТС] #3
мне код нужен
0
rapidexact
20.05.2012, 01:00
  #4

Не по теме:

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

0
Gepar
1177 / 533 / 20
Регистрация: 01.07.2009
Сообщений: 3,517
20.05.2012, 01:10 #5
Цитата Сообщение от egormolokov Посмотреть сообщение
мне код нужен
Ну полностью готового кода не будет (будет просто парсер слов), скучно эти парсеры писать так что самому тебе нуно будет подредактировать его чтобы на буквы "н" внимание обращал, усилий не так много для этого и надо чтобы дописать. Ну или плати денюжку в "заказать программу" если лень во всём разбираться и дописывать.
0
egormolokov
0 / 0 / 0
Регистрация: 26.04.2012
Сообщений: 12
20.05.2012, 08:35  [ТС] #6
ок скиньте ссылку на парсер если не трудно спасибо
0
zitxbit
88 / 740 / 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
1
egormolokov
0 / 0 / 0
Регистрация: 26.04.2012
Сообщений: 12
26.05.2012, 18:48  [ТС] #8
спасибо огромное
0
igorrr37
1647 / 1275 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 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;
}
2
egormolokov
0 / 0 / 0
Регистрация: 26.04.2012
Сообщений: 12
29.05.2012, 22:45  [ТС] #10
спасибо
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.05.2012, 22:45
Привет! Вот еще темы с ответами:

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

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

Найти слово в фразе из 3 слов, которое начинаеться на букву "M" - C++
Необходимо найти слово в фразе из 3 слов, которое начинаеться на букву &quot;M&quot;(на английском). Нужно, чтобы это слово вывело отдельно от...

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


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

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

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