В действительной квадратной матрице порядка п найти наибольший по модулю элемент. Получить квадратную матрицу - C (СИ)

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

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

У меня эта программа написана на СИ++. Напишите пожалуйста ее на СИ
Листинг программы
  1. #include<iostream>
  2. #include<iomanip>
  3. #include<cmath>
  4. #include<ctime>
  5. #include<cstdlib>
  6. using namespace std;
  7. #define N 5
  8. int main()
  9. {
  10. srand(time(NULL));
  11. int A[N][N];
  12. cout<<"Array A[N][N] : \n\n";
  13. for ( int i=0; i<N; i++)
  14. {
  15. for ( int j=0; j<N; j++)
  16. {
  17. A[i][j] = (rand()%200) -100;
  18. cout<<fixed<<setw(4)<<A[i][j]<<" ";
  19. }
  20. cout<<endl;
  21. }
  22. int max = A[0][0];
  23. int max_i = 0;
  24. int max_j = 0;
  25. for ( int i=0; i<N; i++)
  26. {
  27. for ( int j=0; j<N; j++)
  28. {
  29. if ( max < abs(A[i][j]) )
  30. {
  31. max = abs(A[i][j]);
  32. max_i = i;
  33. max_j = j;
  34. }
  35. }
  36. }
  37. cout<<"\nMax element = "<<max<<"["<<max_i<<"]["<<max_j<<"]\n\n";
  38. int B[N-1][N-1];
  39. cout<<"Array B[N-1][N-1]:\n\n";
  40. for ( int i=0; i<N-1; i++)
  41. {
  42. for ( int j=0; j<N-1; j++)
  43. {
  44. if ( i == max_i || j == max_j )
  45. continue;
  46. B[i][j] = A[i][j];
  47. cout<<fixed<<setw(4)<<A[i][j]<<" ";
  48. }
  49. cout<<endl;
  50. }
  51. cout<<endl;
  52. system("pause");
  53. return 0;
  54. }

Решение задачи: «В действительной квадратной матрице порядка п найти наибольший по модулю элемент. Получить квадратную матрицу»

textual
Листинг программы
  1. #include<stdio.h>
  2. #include<math.h>
  3. #include<time.h>
  4. #include<stdlib.h>
  5. #define N 5
  6. int main(void)
  7. {
  8.  
  9.     int A[N][N];
  10.     int i,j;
  11.     int max = A[0][0];
  12.     int max_i = 0;
  13.     int max_j = 0;
  14.     int B[N-1][N-1];
  15.     srand(time(NULL));
  16.     printf("%s\n\n","Array A[N][N]:");
  17.     for (i=0; i<N; i++)
  18.     {
  19.         for (j=0; j<N; j++)
  20.         {
  21.             A[i][j] = (rand()%200) -100;
  22.             printf("%4d ",A[i][j]);
  23.         }
  24.         puts("");
  25.     }
  26.  
  27.     for (i=0; i<N; i++)
  28.     {
  29.         for (j=0; j<N; j++)
  30.         {
  31.             if ( max < abs(A[i][j]) )
  32.             {
  33.                 max = abs(A[i][j]);
  34.                 max_i = i;
  35.                 max_j = j;
  36.             }
  37.         }
  38.     }
  39.     printf("\nMax element = %d [%d][%d]\n",max,max_i,max_j);
  40.  
  41.     printf("%s\n\n","Array B[N-1][N-1]:");
  42.  
  43.     for (i=0; i<N-1; i++)
  44.     {
  45.         for (j=0; j<N-1; j++)
  46.         {
  47.             if ( i == max_i || j == max_j )
  48.                 continue;
  49.             B[i][j] = A[i][j];
  50.             printf("%4d ",A[i][j]);
  51.         }
  52.         puts("");
  53.     }
  54.     puts("");
  55.     system("pause");
  56.     return 0;
  57. }

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

  1. Объявление переменных и массивов:
    • int A[N][N]; - объявление матрицы A порядка N
    • int i, j; - объявление переменных для циклов
    • int max = A[0][0]; - объявление переменной для хранения максимального элемента
    • int max_i = 0; - объявление переменной для хранения индекса строки максимального элемента
    • int max_j = 0; - объявление переменной для хранения индекса столбца максимального элемента
    • int B[N-1][N-1]; - объявление матрицы B порядка (N-1)
  2. Инициализация случайными значениями:
    • srand(time(NULL)); - инициализация генератора случайных чисел текущим временем
    • printf(%s\n\n,Array A[N][N]:); - вывод заголовка
    • for (i=0; i<N; i++) - цикл по строкам матрицы A
    • for (j=0; j<N; j++) - цикл по столбцам матрицы A
    • A[i][j] = (rand()%200) -100; - инициализация элемента случайным числом от -100 до 199
    • printf(%4d,A[i][j]); - вывод элемента матрицы с отступами
    • puts(``); - переход на новую строку
    • printf(\nMax element = %d [%d][%d]\n,max,max_i,max_j); - вывод максимального элемента и его индексов
  3. Создание матрицы B:
    • printf(%s\n\n,Array B[N-1][N-1]:); - вывод заголовка
    • for (i=0; i<N-1; i++) - цикл по строкам матрицы B
    • for (j=0; j<N-1; j++) - цикл по столбцам матрицы B
    • if ( i == max_i || j == max_j ) - пропуск элементов с индексами максимального элемента
    • B[i][j] = A[i][j]; - копирование элемента из матрицы A в матрицу B
    • printf(%4d,A[i][j]); - вывод элемента матрицы с отступами
    • puts(``); - переход на новую строку
    • system(pause); - ожидание нажатия клавиши
    • return 0; - завершение программы

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


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

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

8   голосов , оценка 4.125 из 5

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

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

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