Вопрос задан 17.06.2023 в 02:16. Предмет Информатика. Спрашивает Гарипов Дамир.

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

0 0
Перейти к ответам

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

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

Відповідь:

#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;

}

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

Для розв'язання задачі, нам потрібно пройтися по кожному стовпцю матриці і знайти максимальний елемент в кожному стовпці.

Один з можливих підходів до розв'язання цієї задачі - використати двовимірний масив та два цикли. Перший цикл буде проходитися по стовпцях матриці, а другий цикл - по рядках кожного стовпця.

Ось як може виглядати код для розв'язання даної задачі на мові 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 відповідно.

0 0

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

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

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

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