Заполнить квадратную матрицу случайными числами - C (СИ)
Формулировка задачи:
Доброе утро.
Задание: Заполнить квадратную матрицу случайными числами, а на главной диагонали расположить сумму элементов, принадлежащих соответствующей перпендикулярной диагонали.
[img]http://i011.***********/1104/f7/559a9ae20d40.jpg[/img]
Матрицу саму я сделал:
Но вопрос заключается в том, как обратиться к элементам главной диагонали и присвоить им значение сумы элементов перпендикулярных к ним диагоналей.
Спасибо.
#include "stdafx.h" #include "stdlib.h" #define N 9 int main() { int mas[N][N],i,j; for (i=0;i<N;i++) { for (j=0;j<N;j++) { mas[i][j]=rand()%10; printf("%5d",mas[i][j]); } printf("\n \n"); } system("pause"); return 0; }
Решение задачи: «Заполнить квадратную матрицу случайными числами»
textual
Листинг программы
#include <stdio.h> #include <time.h> int main() { const int SIZE = 10; int MAS[SIZE][SIZE]; int i, j, l; srand (time (NULL)); MAS[0][0] = rand () % 10; MAS[SIZE - 1][SIZE - 1] = rand () % 10; for (i = 0; i < SIZE; i++) for (j = 0; j < SIZE; j++) { if (i != j) MAS[i][j] = rand () % 10; if ((i == j) && (i != 0) && (i != SIZE - 1)) MAS[i][j] = 0; // ячейки, значение которых нам предстоит найти, } // заполняем нулем. int sum; for (i = 1; i < SIZE - 1; i++) { sum = 0; for (l = 0; l < SIZE; l++) for (j = 0; j < SIZE; j++) if ((MAS[l][j] != 0) && (l + j == i * 2)) sum += MAS[l][j]; MAS[i][i] = sum; } printf ("Matrix:\n"); for (i = 0; i < SIZE; i++) { for (j = 0; j < SIZE; j++) printf ("%3d", MAS[i][j]); printf ("\n"); } printf ("\n"); return 0; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д