Заменить нулем максимальный по модулю элемент - C (СИ)

Узнай цену своей работы

Формулировка задачи:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <windows.h>
int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
int n,m,i,j;
int A[10][10];
printf("Количество строк: ");
scanf("%d",&n);
printf("Количество столбцов: ");
scanf("%d",&m);
 
    for (i=0;i<n;i++)
   {
       for (j=0;j<m;j++)
   {
       A[i][j]=rand()%10;
       printf("%d",A[i][j]);
 
        }
        printf("\n");
    }

return 0;
}
не понимаю как заменить нулем максимальный по модулю элемент(, программисты выручайте.

Решение задачи: «Заменить нулем максимальный по модулю элемент»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <windows.h>
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    int n ,m, i, j, max;
    int A[10][10];
    printf("Количество строк: ");
    scanf("%d", &n);
    printf("Количество столбцов: ");
    scanf("%d", &m);
     
    for (i = 0; i < n; ++i)
    {
        for (j = 0; j < m; ++j)
        {
            A[i][j] = rand() % 10;
            printf("%d ", A[i][j]);
        }
        printf("\n");
    }
    printf("\n");
    max = abs(A[0][0]);
    for(i = 0; i < n; ++i)
        for (j = 0; j < m; ++j)
            if (abs(A[i][j]) > max) max = A[i][j];
    for (i = 0; i < n; ++i)
        for (j = 0; j < m; ++j)
            if (abs(A[i][j]) == max) A[i][j] = 0;
    
    for (i = 0; i < n; ++i)
    {
        for (j = 0; j < m; ++j)
            printf("%d ", A[i][j]);
        printf("\n");
    }
    
    return 0;
}

Объяснение кода листинга программы

  1. Включаются необходимые заголовочные файлы
  2. Устанавливаются кодировки консоли
  3. Объявляются переменные: n, m, i, j, max и массив A
  4. Считываются значения переменных n и m
  5. С помощью двух вложенных циклов заполняется массив A случайными целыми числами от 0 до 9
  6. Выводится на экран содержимое массива A
  7. Находится максимальное по модулю значение в массиве A, и сохраняется в переменную max
  8. Два вложенных цикла проходят по всем элементам массива A и если значение элемента больше max, то max обновляется
  9. Два вложенных цикла проходят по всем элементам массива A и если значение элемента равно max, то этот элемент заменяется на 0
  10. С помощью двух вложенных циклов выводится на экран обновленное содержимое массива A
  11. Завершается программа и возвращается 0

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.778 из 5
Похожие ответы