Форум С++

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

Автор: Kostia89   (07.04.2007 в 15:33)
Вот один из вариантов решения:


#include <stdio.h>
#include <conio.h>
#define N 5
void main()
{
clrscr();
int i,j,k,l,a[N][N],x,krug=0;
i=0;
x=0;
for (;;)
{
for (j=0+krug;j<N-krug;j++)
 {
  x+=1;
  if (x==N*N+1) goto Met;
  a[0+krug][j]=x;
 }
for (i=1+krug;i<N-krug;i++)
 {
  x+=1;
  if (x==N*N+1) goto Met;
  a[i][N-1-krug]=x;
 }
for (k=N-1-1-krug;k>=0+krug;k--)
 {
  x+=1;
  if (x==N*N+1) goto Met;
  a[N-1-krug][k]=x;
 }
for (l=N-1-1-krug;l>0+krug;l--)
 {
  x+=1;
  if (x==N*N+1) goto Met;
  a[l][0+krug]=x;
 }
krug++;
}
Met:
for (i=0;i<N;i++)
{
 for (j=0;j<N;j++)
  printf("%3d",a[i][j]);
 printf("\n");
}
getch();
}


Ваше имя:

Пароль:

Цитировать

Используйте тэги для выделения текста:
Код: [code][/code]
Жирный: [b][/b]
Наклонный: [i][/i]
URL: [url][/url]

Сообщение:

Прикрепить: