Показать сообщение отдельно

  #103  
Старый 09.07.2009, 13:31
\\ChaOs//
Познающий
Регистрация: 26.02.2009
Сообщений: 65
С нами: 9054681

Репутация: 34
По умолчанию

Цитата:
Сообщение от fker  
Код:
1   2   3   4 
12  13  14  5
11  16  15  6
10  9   8   7
Код:
#include <iostream>
#include <fstream>
using namespace std;

void Array(int num)
{
int **arr,i=0,j=0,n=1,d=1;
arr=new int*[num];
for(int a=0;a<num;a++)
arr[a]=new int[num];

while(d!=((num/2)+1))
{
for(;i<(num-d);i++,n++)
{
	arr[i][j]=n;
}
for(;j<(num-d);j++,n++)
{
	arr[i][j]=n;
}
for(;i!=(-1+d);i--,n++)
{
	arr[i][j]=n;
}
for(;j!=d;j--,n++)
{
	arr[i][j]=n;
}
d++;
if(d==(num/2+1))
{
	arr[i][j]=n;
	if(num & 1)
	{
		i++;
		n++;
		arr[i][j]=n;
	}
}
}
char name[80];
up:
cout<<"Вывод в файл. Введите имя\n";
cin>>name;

ofstream file(name);
if(!file) goto up;
for(int a=0;a<num;a++)
{
for(int b=0;b<num;b++)
{
	file<<arr[b][a]<<"\t";
}
file<<endl;
}
delete arr;
}


int _tmain()
{
setlocale(0,".1251");
int n;
begin:
cout<<"Введите размерность массива n*n"<<endl;
try{
cin>>n;

Array(n);
}
catch(...){cin.clear(); _flushall();cout<<"Ошибко!!! ):\n"; goto begin;}
system("pause");
return 0;
}

Последний раз редактировалось \\ChaOs//; 09.07.2009 в 16:13.. Причина: Окончательный вариант
 
Ответить с цитированием