Тема: Цілочислова матриця. Подробніше в повідомлені.
Використовую VSCode мова С.
Дано цілочислову матрицю А розмірності nxm. В ній 2 найбільші елементи замінити нулями.
Мені потрібно зробити ввід вхідних данних які на фото щоб виводилося вихідні данні як на фото.
Я зробив код в якому лиш я вводжу цифри які входят в матрицю і код сам заміняє 2 найбільших елемента.
Силка на фото:
#include <stdio.h>
int main()
{
int a[2][3]; // массив из 3 строк и 2 столбцов
int i, j, mx, i1, j1, i2, j2;
// Ввід елементів массива
for (i = 0; i<3; i++) // цикл по строкам
{
for (j = 0; j<2; j++) // цикл по столбцам
{
printf("a[%d][%d] = ", i, j);
scanf("%d", &a[i][j]);
}
}
// Вивід елементів массива
for (i = 0; i<3; i++) // цикл по строкам
{
for (j = 0; j<2; j++) // цикл по столбцам
{
printf("%d ", a[i][j]);
}
printf("\n"); // перевод на новую строку
}
// Пошук першого найбільшого
mx = -2147483648; i1 = 0; j1 = 0;
for (i = 0; i<3; i++) // цикл по строкам
{
for (j = 0; j<2; j++) // цикл по столбцам
{
if (a[i][j] > mx)
{ mx = (a[i][j]); i1 = i; j1 = j; }
}
}
// Пошук другого найбільшого
mx = -2147483648 ; i2 = i1 ; j2=j1 ;
for (i = 0; i<3; i++) // цикл по строкам
{
for (j = 0; j<2; j++) // цикл по столбцам
{
if ( (a[i][j] > mx) && (i != i1) && (j != j1) )
{ mx = (a[i][j]); i2 = i ; j2 = j ; }
}
}
//
a[i1][j1] = 0;
a[i2][j2] = 0;
// Вивід елементів масива
for (i = 0; i<3; i++) // цикл по строкам
{
for (j = 0; j<2; j++) // цикл по столбцам
{
printf("%d ", a[i][j]);
}
printf("\n"); // перевод на новую строку
}
getchar(); getchar();
return 0;
}