Вопрос задан 16.11.2023 в 21:08. Предмет Информатика. Спрашивает Чернова Александра.

Язык Си Матрица M=N. Найти максимальный элемент и его значение присвоить элементам главной

диагонали;
0 0
Перейти к ответам

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

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

Ответ:

#include <iostream>

#include <ctime>

using namespace std;

int main()

{

   srand(time(0));

   int n;

   int maxE;

   cout << "ENTER THE SIZE: ";

   cin >> n;

   int **arr = new int *[n];

   for(int i = 0; i < n; i++) arr[i] = new int[n];

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

   {

       for(int j = 0; j < n; j++) cout << (arr[i][j] = rand() % 100) << ' ';

       cout << endl;

   }

   maxE = arr[0][0];

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

       for(int j = 0; j < n ; j++)

           if(arr[i][j] > maxE) maxE = arr[i][j];

   cout << "\nMAX EL: " << maxE << endl << endl;

   for(int i = 0; i < n; i++) arr[i][i] = maxE;

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

   {

       for(int j = 0; j < n; j++) cout << arr[i][j] << ' ';

       cout << endl;

   }

   for(int i = 0; i < n; i++) delete [] arr[i];

   delete [] arr;

   return 0;

}

Объяснение:

n - размер матрицы, maxE - макс. элемент

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

Для решения данной задачи можно использовать следующий алгоритм:

1. Создаем и инициализируем матрицу размером m × n.

2. Находим максимальный элемент в матрице и сохраняем его значение и его индексы i и j.

3. Проходимся по всем элементам главной диагонали (элементы с индексами i = j) и присваиваем им значение максимального элемента.

Пример реализации на языке Си:

```c #include

#define MAX_SIZE 100

int main() { int matrix[MAX_SIZE][MAX_SIZE]; int m, n;

// Вводим размеры матрицы printf("Введите количество строк матрицы: "); scanf("%d", &m); printf("Введите количество столбцов матрицы: "); scanf("%d", &n);

// Вводим элементы матрицы printf("Введите элементы матрицы:\n"); for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { scanf("%d", &matrix[i][j]); } }

// Находим максимальный элемент int maxElement = matrix[0][0]; int maxI = 0; int maxJ = 0; for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { if (matrix[i][j] > maxElement) { maxElement = matrix[i][j]; maxI = i; maxJ = j; } } }

// Присваиваем максимальное значение элементам главной диагонали for (int i = 0; i < m; i++) { matrix[i][i] = maxElement; }

// Выводим результат printf("Матрица с присвоенными значениями:\n"); for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { printf("%d ", matrix[i][j]); } printf("\n"); }

return 0; } ```

Программа сначала запрашивает у пользователя количество строк и столбцов матрицы. Затем пользователь вводит элементы матрицы. Далее программа находит максимальный элемент и его индексы. После этого она проходится по главной диагонали и присваивает элементам это значение. Наконец, программа выводит исходную матрицу с присвоенными значениями на экран.

Например, для следующей матрицы:

``` 3 5 2 8 1 4 6 9 7 ```

Программа найдет максимальный элемент 9 и присвоит его главной диагонали, получая следующий результат:

``` 9 5 2 8 9 4 6 9 9 ```

Надеюсь, это поможет!

0 0

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

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

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

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