Елена Царькова
Елена Царькова

Как про констатировать "n"

#include



using namespace std;

int main()

{

int n;

int x=0,y=0,value=1,column=0,sum=2,n=3,ssize;

cout<<"Enter array size: ";

cin>>n;

ssize=n;

cout<
while(ssize>=10)

{

ssize/=10;

sum++;

}

bool star=false;

int array[n][n];

while(value<=n*n)

{

if(column<=n&&star==false)

{

if(!(column%2))

{

for(int i=column;i>=0;--i)///четные

{

array[y][x]=value;

value++;

if(x!=0)

{

x--;

}

y++;

}

}

else

{

for(int i=0;i<=column;++i)///нечетные

{

array[y][x]=value;

value++;

if(y!=0)

{

y--;

}

x++;

}

}

column++;

if(column==n)

{

if(!(column%2))//делится на 2

{

y=1;

x=n-1;

}

else // не делится на 2

{

y--;

x++;

}

star=true;

column--;

column--;

}

}

else

{

if(!(column%2))

{

for(int i=column;i>=0;--i)///четные

{

array[y][x]=value;

value++;

if(i==0)

{

x++;

break;

}

if(x!=0)

{

x--;

}

y++;

}

}

else

{

for(int i=0;i<=column;++i)///нечетные

{

array[y][x]=value;

value++;

if(i==column)

{

y++;



break;

}

if(y!=0)

{

y--;

}

x++;

}

}

column--;

}

}

for(y=0;y
{

for(x=0;x
{

cout.width(sum);

cout<
}

cout<
}

return 0;

}

Ру
Руслан

#include
using namespace std;
int main ()
{ int j,k,i,N,x=1,y=-1,t;
cout << "(N x N), N="; cin>>N;
int* a=new int[N*N];
int** p=new int*[N];
for(j=0;j-N;p[j++]=&a[j*N]);
for(j=k=i=0;i++-N*N/2;p[k][j]=i,j+=x,k+=y,t=1-2*(j<0||k<0),x*=t,y*=t,j+=(j<0),k+=(k<0));
for(i--;++i-N*N; p[k][j]=i,j+=x,k+=y,t=2*(j>=N||k>=N),x*=1-t,y*=1-t,j+=t-3*(j>=N),k+=t-3*(k>=N));
p[N-1][N-1]=i;
for(j=0;j-N;j++,cout << endl) for(k=0;k-N;k++) cout << p[j][k] << '\t';
delete [] a;
delete [] p;
return 0;
}

Похожие вопросы
найти значение выражения на Pascal ABC 1 * 1 +2 * 2 +..+ n * n
С клавиатуры вводиться n чисел найти их сумму. С клавиатуры вводиться n чисел найти их сумму
помогите правильно констатировать симптомы беременности!!!
словообразовательный разбор слов: констатировать, отремонтировать, русскоязычный
как вывести файл по n строк? с#
pascal abc. через repeat until проверить 1+2+3...+n=(n*(n+1))/2
Дана квадратная матрица N*N. Найти максимальный элемент над главной диагонали. алгоритм есть,
Что означает констатировать? Растолкуйте пожалуйста. Заранее спасибо.
Можно ли с уверенностью констатировать возрождение нацизма на Украине и в Европе?
ну что ж, приходится констатировать: Пушкин был прав! (внутри)