Нужно получить две квадратные матрицы из элементов исходной - C (СИ)
Формулировка задачи:
Остановился по середина РГР...Просто не знаю с чего начать и вообще смутно представляю ход решения этой задачи...
Буду рад любой помощи...
Вот совственно условие задачи:
#371.
Дана действительная квадратная матрица a[i,j]i,j=1,...,n. Полу-
чить две квадратные матрицы b[i,j]i,j=1,...,n, c[i,j]i,j=1,...,n,
для которых
.................a[i,j] при j>=1,
b[i,j]={
..................a[j,i] при j<i,
..................a[i,j] при j<i,
c[i,j]={
..................-a[i,j] при j>=i
апппп
аппп..
Решение задачи: «Нужно получить две квадратные матрицы из элементов исходной»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
main()
{
int a[100][100], i, j, n, b[100][100], c[100][100], k=0;
printf("Vvedite razmer matrici");
scanf("%d", &n);
for(i=0; i<n; i++)
for(j=0; j<n; j++)
{
printf(" a[%d][%d] = ", i+1, j+1);
scanf("%d", &a[i][j]);
}
//---------------------------------------
for(i=0; i<n; i++){ k++;
for(j=0; j<n; j++)
{
if(j>=1) b[i][j]=a[i][j];
if(j<i) b[i+1][j]=a[j][i];
if(j>=i) c[i][j]=-a[i][j];
if(j<i) c[i][j]=a[i][j];
}}
printf("\n vivod massiva b:\n");
for(i=1; i<(n+1); i++){
printf("\n");
for(j=0; j<n; j++)
printf("%5d", b[i][j]);}
printf("\n nvivod massiva c:\n");
for(i=0; i<k; i++){
printf("\n");
for(j=0; j<k; j++)
printf("%5d", c[i][j]);}
getch();
}
Объяснение кода листинга программы
- Подключение необходимых библиотек
- Запрос на ввод размера матрицы
- Ввод элементов матрицы a с помощью двух вложенных циклов
- Вычисление элементов матрицы b с помощью трех вложенных циклов
- Вывод матрицы b на экран с помощью двух вложенных циклов
- Вычисление элементов матрицы c с помощью трех вложенных циклов
- Вывод матрицы c на экран с помощью двух вложенных циклов
- Ввод размера матрицы
- Завершение работы программы