Квадратная матрица - C (СИ)
Формулировка задачи:
Нужно создать квадратную матрицу по рисунку. По стрелочке расположить натуральный ряд. Остальные элементы равны нулю. Заранее спасибо!
P.S. gcc
Решение задачи: «Квадратная матрица»
textual
Листинг программы
#include <stdio.h>
void main() {
int i,j,n,m=0,q=0,p=0;
printf("Input n= ");
scanf("%d",&n);
int a[n][n];
for (i=0;i<n;i++)
for (j=0;j<n;j++)
a[i][j]=0;
for (i=0;i<2*n-1;i++)
{
if (i>=n)
{
q--;
p++;
}
else
q++;
for (j=0;j<q;j++)
if ((n-j-p-1)==0 || (n-j-p-1)==(n-1) || (n-q+j-p)==0 || (n-q+j-p)==(n-1) )
if (i%2==0)
a[n-j-p-1][n-q+j-p]=++m;
else
a[n-q+j-p][n-j-p-1]=++m;
}
//print
for (i=0; i<n; i++)
{
for (j=0; j<n; j++)
printf("%d\t", a[i][j]);
printf("\n");
}
getch();
}