
С++ Дана матриця розміру M на N. У кожному стовпці матриці знайти максимальний елемент.


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

Відповідь:
#include <iostream>
#include <cstdlib>
#include <time.h>
using namespace std;
void randarr(int **arr,int n,int m){
for(int i = 0; i < n; i++){
for(int j = 0; j < m; j++){
arr[i][j] = rand() % 10 + 1;
}
}
}
void printarr(int **arr,int n,int m){
for(int i = 0; i < n; i++){
for(int j = 0; j < m; j++){
cout << arr[i][j] << "\t";
}
cout << endl;
}
}
void maxcols(int **arr,int n, int m){
int max = 0,counter = 1;
for(int i = 0; i < n; i++){
for(int j = 0; j < m; j++){
if(arr[j][i] > max){
max = arr[j][i];
}
}
cout << "Максимальний елемент в " << counter << " стовпцi = " << max << endl;
max = 0;
counter++;
}
}
int main(){
srand(time(NULL));
setlocale(LC_ALL , "Ukrainian");
int n,m;
cout << "Введiть кiлькiсть рядкiв n: ";
cin >> n;
cout << "Введiть кiлькiсть стовпцiв m: ";
cin >> m;
int **arr = new int *[n];
for (int i = 0; i < n; i++)
arr[i]=new int[m];
randarr(arr,n,m);
printarr(arr,n,m);
maxcols(arr,n,m);
for (int i = 0; i < n; i++)
delete[]arr[i];
delete[]arr;
return 0;
}



Для розв'язання задачі, нам потрібно пройтися по кожному стовпцю матриці і знайти максимальний елемент в кожному стовпці.
Один з можливих підходів до розв'язання цієї задачі - використати двовимірний масив та два цикли. Перший цикл буде проходитися по стовпцях матриці, а другий цикл - по рядках кожного стовпця.
Ось як може виглядати код для розв'язання даної задачі на мові Python:
```python def find_max_elements(matrix): M = len(matrix) # кількість рядків матриці N = len(matrix[0]) # кількість стовпців матриці
max_elements = [] # список для збереження максимальних елементів кожного стовпця
for j in range(N): # проходимось по стовпцях max_element = matrix[0][j] # припускаємо, що перший елемент стовпця є максимальним
for i in range(1, M): # проходимось по рядках кожного стовпця if matrix[i][j] > max_element: # якщо поточний елемент більший за максимальний max_element = matrix[i][j] # замінюємо максимальний елемент
max_elements.append(max_element) # додаємо максимальний елемент до списку
return max_elements
# приклад використання функції matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] max_elements = find_max_elements(matrix) print(max_elements) # виведе: [7, 8, 9] ```
У даному прикладі ми створили функцію `find_max_elements`, яка приймає матрицю як аргумент і повертає список максимальних елементів кожного стовпця. В основній частині коду ми створили матрицю `matrix` (3x3) і викликали функцію `find_max_elements`, передаючи їй цю матрицю. Результат виведений на екран.
Очікуваний результат - список `[7, 8, 9]`, оскільки максимальні ел��менти в кожному стовпці матриці дорівнюють 7, 8 і 9 відповідно.


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