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

Количество вхождений заданного символа в двумерный символьный массив

14.09.2022, 15:51. Показов 2173. Ответов 45
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую!

подскажите пожалуйста правильно ли мыслю:

Надо сделать двумерный массив где текст в строке.. и найти количество вхождений искомого символа.

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

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
#include <iostream>
using namespace std;
 
 
int main() {
    
    
    int n = 5;
    int m = 25;
    char **arr = new char *[n];
    char *str = "helloooo wooordddd!";
    
    
    int k=0;
    for (int i=0;i<n;i++) {
        arr[i] = new char [m];
        for (int j=0;j<m;j++) {
            arr[i] = str;
            
            cout << arr[i][j] << ' ';
            
            if(arr[i][j]=='l') {
                
                k++;
            }
            
        }
        
    cout << endl; 
        
    
    }
    
    cout << k; 
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.09.2022, 15:51
Ответы с готовыми решениями:

Количество вхождений символа в двумерный динамический массив
Приветствую! подскажите пожалуйста правильно ли понял логику? посчитали количество вхождений символа к в двумерном массиве. ...

Количество вхождений заданного символа в строку
Создадим предикат, который по строке и символу подсчитает количество вхождений этого символа в данную строку. domains i=integer ...

Найти количество вхождений заданного символа в строку
как найти количество введенного символа в строке с клавиатуры?

45
2393 / 1913 / 763
Регистрация: 27.07.2012
Сообщений: 5,557
14.09.2022, 16:01
Цитата Сообщение от Sinitsky Посмотреть сообщение
Надо сделать двумерный массив где текст в строке..
Это как понять нужно?
0
12 / 7 / 0
Регистрация: 14.05.2021
Сообщений: 120
14.09.2022, 16:07  [ТС]
Цитата Сообщение от John Prick Посмотреть сообщение
Это как понять нужно?
Приветствую, нет не в том смысле "нужно".. просто как можно сделать обычный массив и чтобы текст в строке..

к примеру..

C++
1
char a[][] = "hello world"
и чтобы он пять раз вывел строку...

просто запутался.. непонимаю как сделать..
мне надо как из прошлой задаче посчитать количество символов ну я знаю как это сделать с помощью strlen(arr) и пробелы.. и потом просто вычестить из количество символов пробелы..
и посчитать количество определенного символа..
0
2393 / 1913 / 763
Регистрация: 27.07.2012
Сообщений: 5,557
14.09.2022, 16:14
Цитата Сообщение от Sinitsky Посмотреть сообщение
и чтобы он пять раз вывел строку...
C++
1
2
3
4
5
    const char* str = "hello world!\n";
    const char* arr[] = { str, str, str, str, str };
    
    for (int i = 0; i < 5; ++i)
        std::cout << arr[i];
0
12 / 7 / 0
Регистрация: 14.05.2021
Сообщений: 120
14.09.2022, 16:17  [ТС]
Цитата Сообщение от John Prick Посмотреть сообщение
const char* arr[] = { str, str, str, str, str };
Чего-то получается дурацкая задача в учебнике: Напишите программу с функцией, аргументом которой передается символ и двумерный символьный массив, в каждую строку которой записал текст. Результатом возвращается количество вхождений символа..

Либо я не понял..
0
2393 / 1913 / 763
Регистрация: 27.07.2012
Сообщений: 5,557
14.09.2022, 16:26
Цитата Сообщение от Sinitsky Посмотреть сообщение
Чего-то получается дурацкая задача в учебнике
Ну надо было сначала задачу-то озвучить.
Подразумевается, скорее всего, что в каждую из строк вводится свой текст. Но для теста пойдёт и вариант выше.

Добавлено через 31 секунду
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <cstring>
 
int main()
{
    const char* str = "hello world!";
    const char* arr[] = { str, str, str, str, str };
    
    int k = 0;
    for (int i = 0; i < 5; ++i)
    {
        for (int j = 0; j < std::strlen(str); ++j)
        {
            if (arr[i][j] == 'l')
                ++k;
        }
    }
    std::cout << "K = " << k;
        
    return 0;
}
0
12 / 7 / 0
Регистрация: 14.05.2021
Сообщений: 120
14.09.2022, 16: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
#include <iostream>
#include <cstring>
using namespace std;
 
 
 
 int show(char* arr, char* str,int k) {
    
    for (int i = 0;i<5;i++) {
        
         for (int j = 0;j<strlen(str);j++) {
            
             if(arr[i][j] =='l') {
                
                 k++;
                
             }
         }
     }
     
     return k; 
    
 }
 
  
int main()
{
    const char* str = "hello world!";
    const char* arr[] = { str, str, str, str, str };
    
    int k = 0;
    
    cout << show(arr,str,k);
        
    return 0;
}

почему то ругается.. на j
0
2393 / 1913 / 763
Регистрация: 27.07.2012
Сообщений: 5,557
14.09.2022, 16:43
Цитата Сообщение от Sinitsky Посмотреть сообщение
почему то ругается.. на j
Что значит "ругается"?
0
12 / 7 / 0
Регистрация: 14.05.2021
Сообщений: 120
14.09.2022, 16:44  [ТС]
Цитата Сообщение от John Prick Посмотреть сообщение
Что значит "ругается"?
что то я не правильно в функцию поместил..
Миниатюры
Количество вхождений заданного символа в двумерный символьный массив  
0
2393 / 1913 / 763
Регистрация: 27.07.2012
Сообщений: 5,557
14.09.2022, 16:49
А вообще у вас странный подход к написанию функций. Вам надо перечитать главу "Функции" из вашего учебника.

Добавлено через 2 минуты
Цитата Сообщение от Sinitsky Посмотреть сообщение
что то я не правильно в функцию поместил..
Массив строк. Это двумерный массив, который принятно передавать указателем на указатель.

Кликните здесь для просмотра всего текста
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 <cstring>
 
int count(const char** arr, int size)
{
    int k = 0;
    for (int i = 0; i < size; ++i)
    {
        for (int j = 0; j < std::strlen(arr[i]); ++j)
        {
            if (arr[i][j] == 'l')
                ++k;
        }
    }
    return k;
}
 
int main()
{
    const char* arr[] = {
        "hello world!", "hello", "world", "...", "world hello"
    };
    
    std::cout << "K = " << count(arr, 5);
    return 0;
}
0
12 / 7 / 0
Регистрация: 14.05.2021
Сообщений: 120
14.09.2022, 17:00  [ТС]
Цитата Сообщение от John Prick Посмотреть сообщение
странный подход к написанию функций

А вот делаю как в учебнике. .единственное, есть у меня небольшая путаница с указателями, и с приведениями типов.. char ,int double

Добавлено через 5 минут
Цитата Сообщение от John Prick Посмотреть сообщение
указателем на указатель.
вот у меня тут была непонятка., теперь более менее понятно..

спасибо за разъяснение..
можно я вас буду дальше продолжать "мучить" ? ...

Добавлено через 3 минуты
Цитата Сообщение от John Prick Посмотреть сообщение
j < std::strlen(arr[i])
а еще вопрос, мы можем вот так делать?

C++
1
strlen(arr[i])
на arr[i].length

C++
1
ну как в javascript к примеру...
0
2393 / 1913 / 763
Регистрация: 27.07.2012
Сообщений: 5,557
14.09.2022, 17:09
Цитата Сообщение от Sinitsky Посмотреть сообщение
arr[i].length
Чтобы так делать, arr[i] должен быть чем-то "по-умнее" простого указателя. Для таких штук в стандартной библиотеке есть класс std::string. Но вам, наверное, пока рано в ту сторону смотреть.
0
12 / 7 / 0
Регистрация: 14.05.2021
Сообщений: 120
14.09.2022, 17:11  [ТС]
Цитата Сообщение от John Prick Посмотреть сообщение
Но вам, наверное, пока рано в ту сторону смотреть.
только закончил тему с функциями, завтра начну классы и объекты..
0
2393 / 1913 / 763
Регистрация: 27.07.2012
Сообщений: 5,557
14.09.2022, 17:12
Цитата Сообщение от Sinitsky Посмотреть сообщение
только закончил тему с функциями
Хм, я бы не был так оптимистичен.
0
12 / 7 / 0
Регистрация: 14.05.2021
Сообщений: 120
14.09.2022, 17:14  [ТС]
Цитата Сообщение от John Prick Посмотреть сообщение
Хм, я бы не был так оптимистичен.
я реалист, все из академического интереса..
ну мне нравится.. будем тренироваться..
0
12 / 7 / 0
Регистрация: 14.05.2021
Сообщений: 120
15.09.2022, 11:15  [ТС]
Подскажите пожалуйста еще, мы можем так вывести массив?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int main() {
    
    const char* arr[] = {
    "hello world!", 
    "hello", 
    "hello", 
    "...", 
    "world",
    "hi,mahai"
    };
    
    
    
    for (int i=0;i<strlen(*arr);i++) {
        cout << arr[i] << ' ';
        
        cout << endl; 
    }
0
2393 / 1913 / 763
Регистрация: 27.07.2012
Сообщений: 5,557
15.09.2022, 13:58
Цитата Сообщение от Sinitsky Посмотреть сообщение
Подскажите пожалуйста еще, мы можем так вывести массив?
Ну а вы пробовали? Получилось?
0
12 / 7 / 0
Регистрация: 14.05.2021
Сообщений: 120
15.09.2022, 14:07  [ТС]
Цитата Сообщение от John Prick Посмотреть сообщение
Ну а вы пробовали? Получилось?
Добрый день!
да, выводит...
0
2393 / 1913 / 763
Регистрация: 27.07.2012
Сообщений: 5,557
15.09.2022, 14:32
Цитата Сообщение от Sinitsky Посмотреть сообщение
да, выводит...
Но вы же почему-то вопрос задали?
0
12 / 7 / 0
Регистрация: 14.05.2021
Сообщений: 120
15.09.2022, 14:34  [ТС]
нет, просто для самопроверки..
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.09.2022, 14:34
Помогаю со студенческими работами здесь

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

Найти в матрице количество вхождений заданного символа
найти в матрице количество вхождений заданного символа с в каждый столбик , сформировать из полученных значений массив и пронормировать...

Подсчитать количество вхождений заданного символа в строку.
Помогите,пожалуйста, написать программу. Подсчитать, сколько раз среди символов данной строки встречается символ &quot;+&quot; и ...

Подсчитать количество вхождений заданного символа в строку
Здравствуйте, помогите, пожалуйста, переписать программу что б она работала. Условие: Подсчитать, сколько раз среди символов данной...

Посчитать количество вхождений заданного символа в строке, введённой пользователем
Дано : Пользователь вводит строку символов и искомый символ, посчитать сколько раз он встречается в строке. (С++) Вопрос: Как сделать,...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение/ Перевод https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs . . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru