Поменять местами наибольший и наименьший элемент главной диагонали массива - C (СИ)

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

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

Дан массив 10х10. Поменять местами наибольший и наименьший элемент главной диагонали массива. Написал код. Но не работает. Можете указать на ошибки.
int main
{
int a[10][10];
int i,j;
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
a[i][j]=rand()%100;
printf("%d",a[i][j]);
}}
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
int max=[0][0],min=[0][0];
if(max=a[i][j])
max=a[i][j];
if(min>a[i][j])
min=a[i][j];
}}
{
int t=max;
max=min;
min=t;
printf("%d",a[i][j]);
}
return 0;
}

Решение задачи: «Поменять местами наибольший и наименьший элемент главной диагонали массива»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
 
int main() {
    int a[10][10];
    int i, j;
    for (i = 0; i < 10; ++i) {
        for (j = 0; j < 10; ++j) {
            a[i][j] = rand() % 100;
            printf("%4d", a[i][j]);
        }
        printf("\n");
    }
    int* max = &a[0][0];
    int* min = &a[0][0];
 
    for (i = 1; i < 10; ++i) {
        if (*max < a[i][i]) {
            max = &a[i][i];
        }
        if (a[i][i] < *min) {
            min = &a[i][i];
        }
    }
 
    int t = *max;
    *max = *min;
    *min = t;
 
    printf("\n");
    for (i = 0; i < 10; ++i) {
        for (j = 0; j < 10; ++j) {
            printf("%4d", a[i][j]);
        }
        printf("\n");
    }
 
    return 0;
}

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

  1. Объявлен массив a[10][10] для хранения 10x10 элементов.
  2. Заполняют массив случайными числами от 0 до 99 с помощью функции rand().
  3. Выводят заполненный массив на экран.
  4. Инициализируют указатели max и min на первый элемент главной диагонали a[0][0].
  5. Проходят по всем элементам главной диагонали, начиная со второго элемента, ищут наибольший и наименьший элементы.
  6. Меняют местами наибольший и наименьший элементы.
  7. Выводят измененный массив на экран.
  8. Возвращают 0, чтобы завершить работу программы.

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


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

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

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