С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 24.05.2018
Сообщений: 11
1

Подсчитать в строке количество символов код которых меньше заданного

09.01.2023, 21:37. Показов 484. Ответов 4

Author24 — интернет-сервис помощи студентам
Всем привет!
Возник затуп со следующим заданием
Ввод строки, затем посчитать в ней количество символов, код которых меньше 120, и количество слов hello.
Есть ли идеи?

Добавлено через 1 час 0 минут
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<iostream>
#include<string.h>
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
    string txt;
    int sum = 0;
 
    cout << "Please Enter any String you want  =  ";
    std:: cin >> txt;
    for (int i = 0; i < txt.size(); i++)
    {
        cout << "\nThe ASCII Value of " << txt[i] << " = " << (int)txt[i];
        if ((int)txt[i] < 120)
        {
            sum++;
        }
 
    }
 
    cout << "\n\nКоличество знаков менее 120: " << sum;
    return 0;
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.01.2023, 21:37
Ответы с готовыми решениями:

Подсчитать количество символов в строке, код которых на 2 меньше чем код, введенной с клавиатуры
Всем привет Проходим символьный тип данных char, дали решать задачу Не могу сообразить как решать...

Homelisp: подсчитать количество вершин бинарного дерева, значение которых меньше заданного N
Дано бинарное дерево содержащее целые числа. Подсчитать количество вершин дерева, значение которого...

Подсчитать количество элементов массива значения которых больше (меньше) заданного числа
подсчитать количество элементов массива значения которых больше(меньше) заданнного числа К(К...

Вывести на экран количество букв в 5-й строке и количество строк в которых длина меньше 10 символов
Програма должна считывать с клавиатуры текстовые строки и записывать их в массив до тех пор, пока...

4
485 / 442 / 135
Регистрация: 03.02.2013
Сообщений: 1,373
09.01.2023, 21:52 2
Есть мнение, что здесь Вы читаете только первое слово, для строки есть std::getline
1
38 / 27 / 13
Регистрация: 18.12.2019
Сообщений: 423
Записей в блоге: 1
09.01.2023, 22:59 3
Лучший ответ Сообщение было отмечено Hells Korzhik как решение

Решение

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
#include <iostream>
#include <string>
 
int main()
{
    // Ввод строки.
    std::string str;
    std::cout << "Enter a string: ";
    std::getline(std::cin, str);
    // посчитать в ней количество символов, код которых меньше 120 и количество слов hello.
    int count = 0;
    int count_hello = 0;
    for (int i = 0; i < str.length(); i++)
    {
        if (str[i] < 120)
        {
            count++;
        }
        if (str[i] == 'h' && str[i + 1] == 'e' && str[i + 2] == 'l' && str[i + 3] == 'l' && str[i + 4] == 'o')
        {
            count_hello++;
        }
    }
    std::cout << "Count of symbols: " << count << std::endl;
    std::cout << "Count of words hello: " << count_hello << std::endl;
}
0
0 / 0 / 0
Регистрация: 24.05.2018
Сообщений: 11
10.01.2023, 00: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
23
24
25
26
27
28
#include<iostream>
#include<string.h>
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
    string txt;
    int sum = 0;
    int count_hello = 0;
    cout << "Please Enter any String you want  =  ";
    std::cin >> txt;
    for (int i = 0; i < txt.size(); i++)
    {
        cout << "\nThe ASCII Value of " << txt[i] << " = " << (int)txt[i];
        if ((int)txt[i] < 120)
        {
            sum++;
        }
        if (txt[i] == 'h' && txt[i + 1] == 'e' && txt[i + 2] == 'l' && txt[i + 3] == 'l' && txt[i + 4] == 'o')
        {
            count_hello++;
        }
    }
    cout << "\n\nКоличество знаков менее 120: " << sum;
    cout << "\n\nКоличество hello: " << count_hello;
    return 0;
}
Добавлено через 1 час 19 минут
Возник вопрос 2 - а как обернуть все циклы в функцию?
У меня что то не получается.
Параметры передаются - но результаты циклов нулевые...
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
#include<iostream>
#include<string.h>
#include <iomanip>
using namespace std;
 
void stringq(string &txt, int* sum, int* count_hello)
{
    for (int i = 0; i < txt.size(); i++)
    {
        cout << "\n ASCII для введенной строки " << txt[i] << " = " << (int)txt[i];
        if ((int)txt[i] < 120)
        {
          *sum++;
        }
        if (txt[i] == 'h' && txt[i + 1] == 'e' && txt[i + 2] == 'l' && txt[i + 3] == 'l' && txt[i + 4] == 'o')
        {
           *count_hello++;
        }
    }
}
int main()
{
    setlocale(LC_ALL, "Russian");
    string txt;
    int sum=0;
    int count_hello=0;
    cout << "Введите строку  =  ";
    std::cin >> txt;
    stringq(txt,&sum,&count_hello);
    cout << "\n\nКоличество знаков менее 120: " << sum;
    cout << "\n\nКоличество hello: " << count_hello;
    return 0;
}
0
485 / 442 / 135
Регистрация: 03.02.2013
Сообщений: 1,373
10.01.2023, 01:21 5
C++
1
(*sum)++;
надо, а то получается адрес двигаете
0
10.01.2023, 01:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.01.2023, 01:21
Помогаю со студенческими работами здесь

Подсчитать количество символов, коды ASCII которых по величине больше 60, но меньше 62
а можно чтоб считал котрые больше 60 и меньше 62???

Используя стек подсчитать количество слов, длина которых меньше 3-х символов
Понимаю, как делать через очередь, но не понимаю, как через стек(вообще не дружу с ними). Задача:...

Вывести количество слов в строке, длина которых меньше заданного числа к
дана строка текста,в которой слова разделены пробелами.Вывести колич слов в строке,длина которых...

Определить количество слов в строке, длина которых меньше заданного числа К
Помогите пожалуйста с задачкой... ПЛИЗ... Дана строка текста, в которой слова разделены пробелами....

В строке символов определить количество слов, в которых длина меньше указанной пользователем
Здравствуйте, нужна ваша помощь. Задачу нужно сделать с использованием темы &quot;Строки...

В строке символов определить количество строк в которых длина меньше указанной пользователем
в строке символов опредилить количество строк в которих длина менше указанной пользователем


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru