
Ребята помогите пж, рили не понимаю, что надо сделать Задание: Ввести матрицу размером 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; }

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

Проверяй:
#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";
}



Проблема в вашем коде заключается в неправильной инициализации массива 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;
}
В этом коде мы:
- Инициализируем массив
arr1
нулями, чтобы иметь возможность правильно увеличивать значения в соответствующих индексах. - Вводим элементы матрицы с проверкой на корректность введенных значений.
- Увеличиваем соответствующее значение в массиве
arr1
при обнаружении повторяющегося числа в матрице. - Выводим количество повторов для каждого числа от 0 до 9.
Надеюсь, это поможет вам решить вашу задачу.


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







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili