Создать новую матрицу, в которой все элементы ниже главной диагонали и сама диагональ станут единицами - C (СИ)
Формулировка задачи:
#include <stdio.h>
int main() {
int a[3][3]={0};
int b;
int j,i;
for (i = 0; i < 3; i = i + 1) { // ввод массива
for (j = 0; j < 3; j = j + 1) {
printf("Введите элемент массива\n");
scanf("%d", &b);
a[i][j] = b;
}
}
for (i = 0; i < 3; i = i + 1) { // вывод массива
printf("\n");
for (j = 0; j < 3; j = j + 1) {
printf("%d\t",a[i][j]);
}
}
}Решение задачи: «Создать новую матрицу, в которой все элементы ниже главной диагонали и сама диагональ станут единицами»
textual
Листинг программы
#include <stdio.h>
int main() {
int a[3][3]={0};
int b;
int j,i;
for (i = 0; i < 3; i = i + 1) { // ввод массива
for (j = 0; j < 3; j = j + 1) {
printf("Введите элемент массива\n");
scanf("%d", &b);
a[i][j] = b;
}
}
for (i = 0; i < 3; i = i + 1) { // вывод массива
printf("\n");
for (j = 0; j < 3; j = j + 1) {
printf("%d\t",a[i][j]);
}
}
printf("\n\n");
for (i=0;i<3;i++) { // установление всех элементов главной диагонали и ниже неё равными 1
for (j=0;j<3;j++){
if (j<=i)
a[i][j]=1;
}
}
for (i = 0; i < 3; i = i + 1) { // вывод нового массива
printf("\n");
for (j = 0; j < 3; j = j + 1) {
printf("%d\t",a[i][j]);
}
}
}
Объяснение кода листинга программы
- Создается массив a[3][3] размером 3x3 и заполняется нулями.
- Вводится массив a[3][3] с помощью двух вложенных циклов, где пользователь вводит значение каждого элемента массива.
- Выводится введенный массив a[3][3].
- С помощью двух вложенных циклов устанавливаются все элементы главной диагонали и ниже неё равными 1.
- Выводится новый массив a[3][3].