bertain
Большое спасибо! Можете, пожалуйста объяснить второй цикл: начиная с for (i=2, i<=n-1; i++) и до a[i][i]=sum, почему именно такие параметры?
AnonimusPro
Вложенный цикл суммирует элементы перпендикуляной диагонали, начиная с нижнего: 1 проход: a[3][1]+a[2][2]+a[1][3](условие i!=j исключает a[2][2] - элемент главной диагонали). Затем сдвигается сразу на два вниз: a[5][1] + a[4][2] + a[3][3] a[2][4] + a[1][5]. Получается такая "симметричная" последовательность(5-1,4-2,3-3,2-4,1-5). Остается только выявить закономерность изменения i и j, чтобы такая последовательность получилась.
bertain
Очень нужна помощь с программой на С: https://znanija.com/task/33506926 ; 100 баллов.
bertain
Добрый день! Если есть возможность, помогите, пожалуйста, с программой: https://znanija.com/task/33569810 . Очень-очень нужна помощь... Буду безгранично благодарна) 100 баллов + лучший ответ!
Answers & Comments
Verified answer
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int i,j,n,sum,a[30][30];
printf("n=");
srand(time(NULL));
scanf("%d",&n);
printf("Matrix:\n");
sum = 0;
for (i = 1; i <= n; i++)
{
for (j = 1; j<=n; j++)
{
a[i][j]=1+rand()%9;
printf("%d ",a[i][j]);
}
printf("\n");
}
printf("\n");
for (i=2;i<=n-1;i++)
{
for(j=1;j<=2*i-1;j++)
if(i!=j)
sum+=a[i*2-j][j];
a[i][i]=sum;
sum=0;
}
printf("Output matrix:\n");
for (i = 1; i <= n; i++)
{
for (j = 1; j <= n; j++)
printf("%d ", a[i][j]);
printf("\n");
}
return 0;
}