12 / 7 / 0
Регистрация: 14.05.2021
Сообщений: 120

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

14.09.2022, 15:51. Показов 2293. Ответов 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
2395 / 1925 / 763
Регистрация: 27.07.2012
Сообщений: 5,569
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
2395 / 1925 / 763
Регистрация: 27.07.2012
Сообщений: 5,569
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
2395 / 1925 / 763
Регистрация: 27.07.2012
Сообщений: 5,569
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
2395 / 1925 / 763
Регистрация: 27.07.2012
Сообщений: 5,569
14.09.2022, 16:43
Цитата Сообщение от Sinitsky Посмотреть сообщение
почему то ругается.. на j
Что значит "ругается"?
0
12 / 7 / 0
Регистрация: 14.05.2021
Сообщений: 120
14.09.2022, 16:44  [ТС]
Цитата Сообщение от John Prick Посмотреть сообщение
Что значит "ругается"?
что то я не правильно в функцию поместил..
Миниатюры
Количество вхождений заданного символа в двумерный символьный массив  
0
2395 / 1925 / 763
Регистрация: 27.07.2012
Сообщений: 5,569
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
2395 / 1925 / 763
Регистрация: 27.07.2012
Сообщений: 5,569
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
2395 / 1925 / 763
Регистрация: 27.07.2012
Сообщений: 5,569
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
2395 / 1925 / 763
Регистрация: 27.07.2012
Сообщений: 5,569
15.09.2022, 13:58
Цитата Сообщение от Sinitsky Посмотреть сообщение
Подскажите пожалуйста еще, мы можем так вывести массив?
Ну а вы пробовали? Получилось?
0
12 / 7 / 0
Регистрация: 14.05.2021
Сообщений: 120
15.09.2022, 14:07  [ТС]
Цитата Сообщение от John Prick Посмотреть сообщение
Ну а вы пробовали? Получилось?
Добрый день!
да, выводит...
0
2395 / 1925 / 763
Регистрация: 27.07.2012
Сообщений: 5,569
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
Ответ Создать тему
Опции темы

Новые блоги и статьи
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru