Нужно получить две квадратные матрицы из элементов исходной - 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 на экран с помощью двух вложенных циклов
- Ввод размера матрицы
- Завершение работы программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д