Вопрос задан 17.06.2023 в 11:39. Предмет Информатика. Спрашивает Котик Анастасия.

Ребята помогите пж, рили не понимаю, что надо сделать Задание: Ввести матрицу размером 6x4 из

целых чисел от 0 до 9. Вычислить вектор из 10-ти элементов как значение количества повторов этих констант в матрице на с++ Мой код: #include using namespace std; int main() { int M = 6, N = 4; int arr[M][N]; bool isError = false; int arr1[10]; for(int i =0;i 9) { cout « "В матрицу можно ввести только числа от 0 до 9" « endl; isError = true; } } } for(int i=0;i int s = 0; for(int j=0;j if (!isError) { s+=arr[i][j]; arr1[i]=s; } } } cout«"Summ = "; for(int i=0;i<6;i++){ if (!isError) cout«arr1[i]«"\t"; } return 0; }
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Куликова Сонечка.

Проверяй:

#include <iostream>

#include <vector>

using namespace std;

int main() {

   const int N = 6, M = 4;

   vector<vector<int>> a(N, vector<int> (M));

   vector<int> cnt(10, 0);

   for(int i = 0; i < N; i++){

       for(int j = 0; j < M; j++){

           cin >> a[i][j];

           if(a[i][j] < 0 || a[i][j] > 9){

               cout << "Incorrect input data. Try again";

               return 0;

           }

           cnt[a[i][j]]++;

       }

   }

   for(int i = 0; i < 10; i++)

       cout << "Number " << i << " appears " << cnt[i] << " times in given data";

}

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

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

Вот исправленный код:

cpp
#include <iostream> using namespace std; int main() { int M = 6, N = 4; int arr[M][N]; bool isError = false; int arr1[10] = {0}; // Инициализируем массив нулями for (int i = 0; i < M; i++) { for (int j = 0; j < N; j++) { cout << "Введите элемент матрицы arr[" << i << "][" << j << "]: "; cin >> arr[i][j]; if (arr[i][j] < 0 || arr[i][j] > 9) { // Проверяем введенное значение cout << "В матрицу можно ввести только числа от 0 до 9" << endl; isError = true; } } } if (!isError) { for (int i = 0; i < M; i++) { for (int j = 0; j < N; j++) { arr1[arr[i][j]]++; // Увеличиваем значение в соответствующем индексе } } } cout << "Количество повторов каждого числа:" << endl; for (int i = 0; i < 10; i++) { if (!isError) { cout << "Число " << i << ": " << arr1[i] << endl; } } return 0; }

В этом коде мы:

  1. Инициализируем массив arr1 нулями, чтобы иметь возможность правильно увеличивать значения в соответствующих индексах.
  2. Вводим элементы матрицы с проверкой на корректность введенных значений.
  3. Увеличиваем соответствующее значение в массиве arr1 при обнаружении повторяющегося числа в матрице.
  4. Выводим количество повторов для каждого числа от 0 до 9.

Надеюсь, это поможет вам решить вашу задачу.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос