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

Найти слово содержащее наибольшее количество цифр

11.12.2018, 21:26. Показов 4671. Ответов 10

Студворк — интернет-сервис помощи студентам
Нужно напечатать слово, содержащее наибольшее количество цифр и ещё одно слово с наибольшим количеством латинских букв.
Не понимаю как проверять каждое слово и потом выводить именно его, хелп!

Добавлено через 14 минут
На C++
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.12.2018, 21:26
Ответы с готовыми решениями:

Вывести слово, содержащее наибольшее количество цифр и вывести число цифр в слове
Дана строка. Исключить из нее подстроку, расположенную между самой левой открывающейся скобкой «(» и самой правой закрывающейся скобкой...

Найти слово, содержащее наибольшее количество символов
Ввести с клавиатуры одномерный строковый массив и найти слово, содержащее наибольшее количество символов. DEV-C++

Найти в тексте слово, содержащее наибольшее количество гласных
выкладываю код. задача проги-найти в тексте слово, содержащее наибольшее количество гласных, и вывести предложение, его содержащее. код я...

10
Злостный нарушитель
 Аватар для Verevkin
10302 / 5725 / 1268
Регистрация: 12.03.2015
Сообщений: 26,508
11.12.2018, 21:30
А где исходные данные?
1
0 / 0 / 0
Регистрация: 11.12.2018
Сообщений: 4
11.12.2018, 21:32  [ТС]
Строка например = "asd231 33333 dddddd"
0
 Аватар для mvngr
225 / 189 / 98
Регистрация: 15.04.2018
Сообщений: 718
11.12.2018, 21:33
Лучший ответ Сообщение было отмечено flores1 как решение

Решение

А самому попробывать?

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
#include <iostream>
 
using namespace std;
 
int main()
{
    string mostLat, mostNum, input;
    int latinCount, numCount;
    int latinMax = 0, numMax = 0;
    for(int i = 0; i < 5; i++) //Вводим пять слов
    {
        cin >> input;
 
        //смотрим слово на предмет самого латинского
        latinCount = 0;
        for(size_t i = 0; i < input.size(); i++) //проходимся по всему слову
        {
            if( (input[i] > 'a' && input[i] < 'z') || (input[i] > 'A' && input[i] < 'Z')) //если влезает в границы латиницы
                latinCount++; //увеличиваем счетчик на 1
        }
        if(latinCount >= latinMax) //если счетчик больше максимального
        {
            latinMax = latinCount; //делаем его максимальным
            mostLat = input; //и запоминаем слово
        }
        //а теперь на предмет самого числового
        numCount = 0;
        for(size_t i = 0; i < input.size(); i++)
        {
            if( (input[i] > '0' && input[i] < '9') )
                numCount++;
        }
        if(numCount >= numMax)
        {
            numMax = numCount;
            mostNum = input;
        }
    }
 
    cout << "Latin: " << mostLat << endl << "Number: " << mostNum << endl;
 
    return 0;
}
Code
1
2
3
4
5
6
7
8
abcd
000000
123
ammmmmmm
a1b2c3
Latin: ammmmmmm
Number: a1b2c3
Press <RETURN> to close this window...
Если не понятно почему size_t - из-за размерностей. Подробнее - гугли, либо впиши вместо size_t int и не парься, препод ругать не будет
2
0 / 0 / 0
Регистрация: 11.12.2018
Сообщений: 4
11.12.2018, 21:35  [ТС]
thanx!
0
518 / 410 / 188
Регистрация: 08.04.2013
Сообщений: 1,750
11.12.2018, 22:02
mvngr, из 21 и 33 строки надо убрать знак =, если нет слов с латинскими или цифрами срабатывает последнее слово
0
 Аватар для mvngr
225 / 189 / 98
Регистрация: 15.04.2018
Сообщений: 718
11.12.2018, 22:08
marat_miaki, upd: лажанул, вы правы
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
11.12.2018, 22:26
mvngr, ТС вроде произвольная строка нужна, а не 5 слов
0
518 / 410 / 188
Регистрация: 08.04.2013
Сообщений: 1,750
11.12.2018, 22:39
тогда уж так
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
#include <iostream>
#include <string>
#include <sstream>
 
int main()
{
    std::string str = "Из этой группы 14 слов содержащих латинские буквы eklmn выделить самое главное - Знания";
    std::string word, mostLat, mostNum;
    std::istringstream ins(str);
    int latinCount, numCount;
    int latinMax = 0, numMax = 0;
     
    while(ins >> word){
       latinCount = 0;
        for(size_t i = 0; i < word.size(); i++) //проходимся по всему слову
        {
            if( (word[i] > 'a' && word[i] < 'z') || (word[i] > 'A' && word[i] < 'Z')) //если влезает в границы латиницы
                latinCount++; //увеличиваем счетчик на 1
        }
        if(latinCount > latinMax) //если счетчик больше максимального
        {
            latinMax = latinCount; //делаем его максимальным
            mostLat = word; //и запоминаем слово
        }
        //а теперь на предмет самого числового
        numCount = 0;
        for(size_t i = 0; i < word.size(); i++)
        {
            if( (word[i] > '0' && word[i] < '9') )
                numCount++;
        }
        if(numCount > numMax)
        {
            numMax = numCount;
            mostNum = word;
        }
    }
        std::cout << "Latin: " << mostLat << std::endl << "Number: " << mostNum << std::endl;
    return 0;
}
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
12.12.2018, 00:34
Лучший ответ Сообщение было отмечено flores1 как решение

Решение

mvngr, marat_miaki, условия в неравенствах должны быть не строгие и вполне достаточно одного цикла.

flores1,
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
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
 
int main()
{
    string s, word, mostDig, mostLet;
    cout << "String:\n";
    getline(cin, s);
    int i, count_letters, count_digits, max_letters=0, max_digits=0;    
     
    stringstream words(s);
    while (words >> word)
    {
        i=0;
        count_letters=0;
        count_digits=0;
        while(word[i])         
        {        
            if(word[i] >= '0' && word[i] <= '9') count_digits++;
            if((word[i] >= 'a' && word[i] <= 'z') || (word[i] >= 'A' && word[i] <= 'Z')) count_letters++;
            i++;        
        }
        if(count_digits > max_digits) {max_digits=count_digits; mostDig=word;}
        if(count_letters > max_letters) {max_letters=count_letters; mostLet=word;}
    }
    
    cout <<"Word with max digits: "<<mostDig<<"\nWord with max letters: "<<mostLet<<"\n";
system("pause");
return 0;
}
код выведет первое слово с наибольшим количеством цифр и первое слово с наибольшим количеством латинских букв.
считал, что в введённой строке заведомо есть цифры и латинские буквы. проверку на отсутствие (например в строке нет цифр) не добавлял, можете добавить самостоятельно если нужно.
1
 Аватар для mvngr
225 / 189 / 98
Регистрация: 15.04.2018
Сообщений: 718
12.12.2018, 19:15
Yetty, вообще, в задании даже ничего про ввод данных не сказано. Так что я выбрал как мне удобнее
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.12.2018, 19:15
Помогаю со студенческими работами здесь

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

Найти в текстовом файле слово, содержащее наибольшее количество повторяющихся букв
Найти в текстовом файле слово, содержащее наибольшее количество повторяющихся букв

Во введенной строке найти слово, содержащее наибольшее количество разных букв
Во введенной строке найти слово, содержащее наибольшее количество разных букв (слова разделяются пробелами). Вывести на экран это слово и...

В заданных текстовых файлах найти слово содержащее наибольшее количество указанных букв
даны файлы содержащий текст и некоторые буквы найти слово содержанее наибольшее количество указанных букв

Ввести строку, вывести слово, содержащее наибольшее количество гласных букв
Привет Ребят,мне нужно сделать лабораторную по информатике,вот что мне надо Ввести строку, вывести слово, содержащее наибольшее...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru