Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/22: Рейтинг темы: голосов - 22, средняя оценка - 4.77
3 / 3 / 0
Регистрация: 24.04.2010
Сообщений: 39

Найти самое короткое слово в строке, которое заканчивается на букву «а»

10.12.2010, 14:02. Показов 4225. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите с написанием алгоритма. Заранее благодарен.
Дана строка текста, в которой слова разделены пробелами и запятыми. Необходимо:
1)найти самое короткое слово в строке, которое заканчивается на букву «а»
2)вывести результат в файл
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.12.2010, 14:02
Ответы с готовыми решениями:

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

Найти в строке любое слово, которое начинается на букву а и заканчивается на букву а
Помогите: Дано рядок S. Найти любое слово которое начинаться на букву а и заканчивается на букву а. Если таких слов нет, то...

Ввести строку с клавиатуры. Найти самое длинное слово в строке и самое короткое
Ввести строку с клавиатуры. Найти самое длинное слово в строке и самое короткое. Слова определяются с учетом пробелов и знаков препинания...

4
Freelance
Эксперт С++
 Аватар для asics
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
10.12.2010, 14:09
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Цитата Сообщение от 4eri Посмотреть сообщение
1)найти самое короткое слово в строке, которое заканчивается на букву «а»
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
#include <stdio.h>
#include <string.h>
 
#define MAXSIZE 256
#define DELIM " .,"
 
int main(void)
{
    char str[256], *_p;
    gets(str);
 
    for(char *p = strtok(str, DELIM); p; p =strtok(NULL, DELIM))
    {
        if(strlen(p) < strlen(_p) && p[strlen(p) - 1] == 'a')
        {
            _p = p;
        }
    }
    for(int i = 0; i < strlen(_p); ++i)
    {
        printf("%c", _p[i]);
    }
    return 0;
}
1
3 / 3 / 0
Регистрация: 24.04.2010
Сообщений: 39
10.12.2010, 14:10  [ТС]
спасибо. осталось только затолкать в файл.
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
10.12.2010, 14:24
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include <iostream>
#include <sstream>
#include <string>
#include <fstream>
#include <vector>
 
int main()
{
    std::string Str;
    std::cout<<"Enter string\n";
    std::getline(std::cin, Str);
    const std::string delims=",";
    for(std::string::iterator it=Str.begin(); it!=Str.end(); ++it)
    {
        if(delims.find(*it) != std::string::npos)
            *it=' ';
    }
    std::istringstream ist(Str);
    std::vector<std::string> Vec;
    std::string tmp;
    while(ist >> tmp)
        Vec.push_back(tmp);
    std::string max;
    const size_t inf=300;
    size_t shortlen=inf;
    for(size_t i=0; i<Vec.size(); ++i)
    {
        if(Vec[i][Vec[i].size()-1] == 'a'
            && Vec[i].size() < shortlen)
        {
            max=Vec[i];
            shortlen=Vec[i].size();
        }
    }
    if(shortlen == inf)
    {
        std::cerr<<"There are no such words\n";
        return 1;
    }
    std::string name;
    std::cout<<"Enter name of file\n";
    std::cin>>name;
    std::ofstream ofs(name.c_str());
    if(!ofs)
    {
        std::cerr<<"Can` t open file "<< name <<'\n';
        return 1;
    }
    ofs<<max<<'\n';
    std::cout<<"Succesfull\n";
    ofs.close();
    return 0;
}
1
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
10.12.2010, 17:01
Цитата Сообщение от asics Посмотреть сообщение
if(strlen(p) < strlen(_p) && p[strlen(p) - 1] == 'a')
_p при первом проходе - неинциализированный указатель. Длинну чего Вы там вычисляете - загадка...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.12.2010, 17:01
Помогаю со студенческими работами здесь

Найти самое короткое и самое длинное слово в строке
#include &lt;iostream&gt; #include &lt;string.h&gt; #include &lt;conio.h&gt; #include &lt;stdio.h&gt; using namespace std; void inp(char); void...

Найти самое короткое и самое длинное слово в строке
Введённый строке найти самое короткое и длинное слово.словом считается последовательность симболов,которое отделено пробелом или знаком...

Найти самое длинное и самое короткое слово в строке
Вообщем, дано задание найти самое длинное и самое короткое слово в строке. Все хорошо работает, но, если мы зададим слова , отличающиеся...

Найти самое короткое и самое длинное слово в строке
Посмотрите на код, что не так пишу? #include &lt;iostream&gt; #include &lt;string.h&gt; #include &lt;locale.h&gt; using namespace std; char...

Найти самое короткое слово, заканчивающееся на заданную букву
найти самое короткое слово, которое заканчивается на букву 'd' строку брать как символьный массив помогите пожалуйста


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru