Найти максимальный и минимальный элемент в каждом столбце матрицы и заменить их нулями - C (СИ)
Формулировка задачи:
Нужно найти макс и мин элемент в каждом столбце в двумерном массиве и заменить их нулями.
Программа не правильно работает для отриц. значений(для полож. все верно), подскажите где допущена ошибка.
#include "stdio.h" #include "conio.h" #include "locale.h" int main() { setlocale(LC_ALL,"rus"); int a[100][100],N,maxi,maxj,max,min,mini,minj; printf("Введите кол-во строк (кол-во столбцов) >"); scanf("%d,",&N); printf("Введите элементы массива >"); for (int i=0;i<N;i++) { for (int j=0;j<N;j++) scanf("%d",&a[i][j]); } for (int j=0;j<N;j++) { min =a[0][j]; mini=0; minj=j; for (int i=0;i<N;i++) { if (a[i][j]<min) { min=a[i][j]; mini=i; minj=j; } } a[mini][minj]=0; } for (int j=0;j<N;j++) { max =a[0][j]; maxi=0; maxj=j; for (int i=0;i<N;i++) { if (a[i][j]>max) { max=a[i][j]; maxi=i; maxj=j; } } a[maxi][maxj]=0; } printf("\n"); for (int i=0;i<N;i++) { for(int j=0;j<N;j++) printf("%d ",a[i][j]); printf("\n"); } getch(); }
Решение задачи: «Найти максимальный и минимальный элемент в каждом столбце матрицы и заменить их нулями»
textual
Листинг программы
#include <stdio.h> #include <conio.h> #include <limits.h> #include <stdlib.h> #include <locale.h> #include <time.h> int main(void) { srand(time(NULL)); setlocale(LC_ALL,"Russian"); int Arr[10][10]; int min, max, imin, imax,n,m; printf("Введите кол-во строк в матрцие : "); scanf("%d", &n); printf("Введите кол-во столбцов в матрцие : "); scanf("%d", &m); system("cls"); for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { Arr[i][j] =-5 + rand() % 10; printf("%3d", Arr[i][j]); } printf("\n"); } for (int j = 0; j < m; j++) { min = INT_MAX; max = INT_MIN; for (int i = 0; i < n; i++) { if (Arr[i][j] > max) { max = Arr[i][j]; imax = i; } if (Arr[i][j] < min) { min = Arr[i][j]; imin = i; } } Arr[imin][j] = NULL; Arr[imax][j] = NULL; } printf("\n\n"); for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) printf("%3d", Arr[i][j]); printf("\n"); } getch(); return 0; }
Объяснение кода листинга программы
Вот список действий, которые выполняются в коде:
- Задаются вопросы пользователю для ввода количества строк и столбцов матрицы.
- Создается матрица случайных целых чисел.
- Находится минимальный и максимальный элемент в каждом столбце матрицы.
- Идентификаторы минимального и максимального элемента заменяются нулями.
- Выводится матрица с обновленными значениями.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д