Форум С++

 

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

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

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

Автор: Vorox   (25.11.2010 в 15:33)
#include <iostream>
#include <random>
using namespace std;
int main()
{
int n; // размерность исход. массива
cin>>n;
float **a; // исходный массив
float *tmp; // куда будем писать заштрих. область

//инициализация исходного массива
a= new float*[n];
for(int i=0;i<n;i++)
{
a[i]=new float[n];
}
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
a[i][j]=int((float)rand()/(RAND_MAX+1)*20-10);
}
}
//конец
int count=n;
int m=0;
//определение размерности заштрихованного массива n+(n-2)+(n-4)...
do
{
m+=count;
count-=2;

}while(count>0);

tmp=new float[m];
count=0;
int count2=0;
// запись заштрихованной области a[i... n-i][i] в массив tmp
while(count<(n/2+1))
{
for(int j=count;j<(n-count);j++)
{
tmp[count2]=a[j][count];
count2++;
}
count++;
};
//сортировка пузырьком
bool l=true;
while(l)
{
l=false;
for(int i=0;i<m-1;i++)
if(tmp[i]>tmp[i+1])
{
float t=tmp[i];
tmp[i]=tmp[i+1];
tmp[i+1]=t;
l=true;
}
}
//вывод
cout<<"Matrix:"<<endl;
for(int i=0;i<n;i++)
{
cout<<endl;
for(int j=0;j<n;j++)
{
cout<<a[i][j]<<" ";
}
}

cout<<endl<<endl<<"SHTRIH_MATRIX:"<<endl;
for(int i=0;i<m;i++)
cout<<tmp[i]<<" ";


cout<<endl<<"min = "<<tmp[0]<<" "<<"max = "<<tmp[m-1];
return 1;
}
компилятор Visual Studio


Ваше имя:

Пароль:

Цитировать

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

Сообщение:

Прикрепить: