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

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

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

Дан массив 10х10. Поменять местами наибольший и наименьший элемент главной диагонали массива. Написал код. Но не работает. Можете указать на ошибки.
Листинг программы
  1. int main
  2. {
  3. int a[10][10];
  4. int i,j;
  5. for(i=0;i<10;i++)
  6. {
  7. for(j=0;j<10;j++)
  8. a[i][j]=rand()%100;
  9. printf("%d",a[i][j]);
  10. }}
  11. for(i=0;i<10;i++)
  12. {
  13. for(j=0;j<10;j++)
  14. int max=[0][0],min=[0][0];
  15. if(max=a[i][j])
  16. max=a[i][j];
  17. if(min>a[i][j])
  18. min=a[i][j];
  19. }}
  20. {
  21. int t=max;
  22. max=min;
  23. min=t;
  24. printf("%d",a[i][j]);
  25. }
  26. return 0;
  27. }

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

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main() {
  5.     int a[10][10];
  6.     int i, j;
  7.     for (i = 0; i < 10; ++i) {
  8.         for (j = 0; j < 10; ++j) {
  9.             a[i][j] = rand() % 100;
  10.             printf("%4d", a[i][j]);
  11.         }
  12.         printf("\n");
  13.     }
  14.     int* max = &a[0][0];
  15.     int* min = &a[0][0];
  16.  
  17.     for (i = 1; i < 10; ++i) {
  18.         if (*max < a[i][i]) {
  19.             max = &a[i][i];
  20.         }
  21.         if (a[i][i] < *min) {
  22.             min = &a[i][i];
  23.         }
  24.     }
  25.  
  26.     int t = *max;
  27.     *max = *min;
  28.     *min = t;
  29.  
  30.     printf("\n");
  31.     for (i = 0; i < 10; ++i) {
  32.         for (j = 0; j < 10; ++j) {
  33.             printf("%4d", a[i][j]);
  34.         }
  35.         printf("\n");
  36.     }
  37.  
  38.     return 0;
  39. }

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

  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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы