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

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

14.09.2022, 15:51. Показов 2244. Ответов 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 / 1922 / 763
Регистрация: 27.07.2012
Сообщений: 5,565
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 / 1922 / 763
Регистрация: 27.07.2012
Сообщений: 5,565
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 / 1922 / 763
Регистрация: 27.07.2012
Сообщений: 5,565
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 / 1922 / 763
Регистрация: 27.07.2012
Сообщений: 5,565
14.09.2022, 16:43
Цитата Сообщение от Sinitsky Посмотреть сообщение
почему то ругается.. на j
Что значит "ругается"?
0
12 / 7 / 0
Регистрация: 14.05.2021
Сообщений: 120
14.09.2022, 16:44  [ТС]
Цитата Сообщение от John Prick Посмотреть сообщение
Что значит "ругается"?
что то я не правильно в функцию поместил..
Миниатюры
Количество вхождений заданного символа в двумерный символьный массив  
0
2393 / 1922 / 763
Регистрация: 27.07.2012
Сообщений: 5,565
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 / 1922 / 763
Регистрация: 27.07.2012
Сообщений: 5,565
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 / 1922 / 763
Регистрация: 27.07.2012
Сообщений: 5,565
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 / 1922 / 763
Регистрация: 27.07.2012
Сообщений: 5,565
15.09.2022, 13:58
Цитата Сообщение от Sinitsky Посмотреть сообщение
Подскажите пожалуйста еще, мы можем так вывести массив?
Ну а вы пробовали? Получилось?
0
12 / 7 / 0
Регистрация: 14.05.2021
Сообщений: 120
15.09.2022, 14:07  [ТС]
Цитата Сообщение от John Prick Посмотреть сообщение
Ну а вы пробовали? Получилось?
Добрый день!
да, выводит...
0
2393 / 1922 / 763
Регистрация: 27.07.2012
Сообщений: 5,565
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
Ответ Создать тему
Новые блоги и статьи
BOINC: 22 года — и всё ещё работает
Programma_Boinc 12.03.2026
BOINC: 22 года — и всё ещё работает Дэвид Андерсон написал ретроспективу. Кратко: в 2001 году он ушёл из United Devices, где был CTO, и за несколько месяцев написал ядро BOINC — клиент, сервер,. . .
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru