Задана матрица размером N*N. Заполнить элементы главной и побочной диагонали нулями - C (СИ)
Формулировка задачи:
#include <stdio.h> #include <conio.h> #include <windows.h> #include <math.h> #include <locale.h> #include <time.h> #include <stdlib.h> int main (){ setlocale (LC_ALL, "RUS"); int i,j; int N; scanf ("%d",&N); int x[N][N]; for (i=1;i<=N;i++) { for (j=1;j<=N;j++) { x[i][j]=NULL;// rand()%100; printf ("%d ",x[i][j]); } printf ("\n"); } }
У меня всё нулями выводит. А надо же только главную и побочную.
Решение задачи: «Задана матрица размером N*N. Заполнить элементы главной и побочной диагонали нулями»
textual
Листинг программы
for(i=0; i<N; i++) { x[i][i] = x[i][N-i-1] = 0; }
Объяснение кода листинга программы
- В цикле
for
перебираются все элементы матрицы размером N*N от i=0 до i=N-1 - Внутри цикла присваивается значение 0 элементам главной и побочной диагонали матрицы
- x[i][i] - элемент главной диагонали
- x[i][N-i-1] - элемент побочной диагонали
- Значение N-i-1 используется для обращения порядка элементов в побочной диагонали матрицы
- Результатом выполнения кода будет заполнение элементов главной и побочной диагонали матрицы нулями
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д