Заполнить квадратную матрицу случайными числами - 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;
}