В действительной квадратной матрице порядка п найти наибольший по модулю элемент. Получить квадратную матрицу - C (СИ)
Формулировка задачи:
У меня эта программа написана на СИ++. Напишите пожалуйста ее на СИ
#include<iostream>
#include<iomanip>
#include<cmath>
#include<ctime>
#include<cstdlib>
using namespace std;
#define N 5
int main()
{
srand(time(NULL));
int A[N][N];
cout<<"Array A[N][N] : \n\n";
for ( int i=0; i<N; i++)
{
for ( int j=0; j<N; j++)
{
A[i][j] = (rand()%200) -100;
cout<<fixed<<setw(4)<<A[i][j]<<" ";
}
cout<<endl;
}
int max = A[0][0];
int max_i = 0;
int max_j = 0;
for ( int i=0; i<N; i++)
{
for ( int j=0; j<N; j++)
{
if ( max < abs(A[i][j]) )
{
max = abs(A[i][j]);
max_i = i;
max_j = j;
}
}
}
cout<<"\nMax element = "<<max<<"["<<max_i<<"]["<<max_j<<"]\n\n";
int B[N-1][N-1];
cout<<"Array B[N-1][N-1]:\n\n";
for ( int i=0; i<N-1; i++)
{
for ( int j=0; j<N-1; j++)
{
if ( i == max_i || j == max_j )
continue;
B[i][j] = A[i][j];
cout<<fixed<<setw(4)<<A[i][j]<<" ";
}
cout<<endl;
}
cout<<endl;
system("pause");
return 0;
}Решение задачи: «В действительной квадратной матрице порядка п найти наибольший по модулю элемент. Получить квадратную матрицу»
textual
Листинг программы
#include<stdio.h>
#include<math.h>
#include<time.h>
#include<stdlib.h>
#define N 5
int main(void)
{
int A[N][N];
int i,j;
int max = A[0][0];
int max_i = 0;
int max_j = 0;
int B[N-1][N-1];
srand(time(NULL));
printf("%s\n\n","Array A[N][N]:");
for (i=0; i<N; i++)
{
for (j=0; j<N; j++)
{
A[i][j] = (rand()%200) -100;
printf("%4d ",A[i][j]);
}
puts("");
}
for (i=0; i<N; i++)
{
for (j=0; j<N; j++)
{
if ( max < abs(A[i][j]) )
{
max = abs(A[i][j]);
max_i = i;
max_j = j;
}
}
}
printf("\nMax element = %d [%d][%d]\n",max,max_i,max_j);
printf("%s\n\n","Array B[N-1][N-1]:");
for (i=0; i<N-1; i++)
{
for (j=0; j<N-1; j++)
{
if ( i == max_i || j == max_j )
continue;
B[i][j] = A[i][j];
printf("%4d ",A[i][j]);
}
puts("");
}
puts("");
system("pause");
return 0;
}
Объяснение кода листинга программы
- Объявление переменных и массивов:
- 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)
- Инициализация случайными значениями:
- 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); - вывод максимального элемента и его индексов
- Создание матрицы 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; - завершение программы
- printf(