Матрица: Заменить нулями все элементы, расположенные на главной диагонали и выше её - C (СИ)
Формулировка задачи:
Сформировать матрицу S(12,12).Вывести матрицу.Заменить нулями все элементы, расположенные на главной диагонали и выше её.Вывести измененную матрицу.
Решение задачи: «Матрица: Заменить нулями все элементы, расположенные на главной диагонали и выше её»
textual
Листинг программы
#include<stdio.h> #include<conio.h> #include<stdlib.h> #include<string.h> #include<windows.h> #include<math.h> #include<time.h> int main() { int n,**arr; int i=0,j=0; //Динамическое выделение памяти puts("Enter a size of array"); scanf("%d",&n); arr=(int **)malloc(n*sizeof(int*)); if(!arr) exit(1); for(int i=0;i<n;i++) { arr[i]=(int *)malloc(n*sizeof(int)); if(!arr[i]) exit(1); } //Инициализация матрицы srand(time(NULL)); for (i=0;i<n;i++) for(j=0;j<n;j++) { arr[i][j]=rand()%100; } //Вывод исходного массива for(i=0;i<n;i++) { for(j=0;j<n;j++) { printf("%2d ",arr[i][j]); } printf("\n"); }; //Обнуляем for(i=0;i<n;i++) { for(j=0;j<n;j++) { if(i==j|| j>i) { arr[i][j]=0; } } } printf("\n"); //Вывод нового массива for(i=0;i<n;i++) { for(j=0;j<n;j++) { printf("%2d ",arr[i][j]); } printf("\n"); } getch(); return 0; }
Объяснение кода листинга программы
В этом коде:
- Объявлены переменные:
n
- размер матрицы;arr
- динамически выделяемая память под матрицу.
- Выполняется динамическое выделение памяти под матрицу с помощью функций
malloc
иcalloc
. - Инициализируются случайные значения элементов матрицы с помощью функции
rand
. - Выводится исходная матрица с помощью цикла
for
. - Задаются условия для обнуления элементов главной диагонали и выше её.
- Обнуляются элементы главной диагонали и выше её.
- Выводится новая матрица с обнулёнными элементами.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д