помогите создать матрицу и отсортировать столбцы по уменьшению
помогите создать матрицу и отсортировать столбцы по уменьшению
Код:
#include<iostream>
#include<ctime>
int RangedRandDemo( int range_min, int range_max );
void PrintArray(int **Arr, int row, int column);
int **BubleSortByDown(int **Arr, int row, int column);
int main()
{
srand((unsigned int )time(NULL));
int row = RangedRandDemo(2,7);
int column = RangedRandDemo(2,7);
std::cout<<"Row = "<<row<<"\t"<<"Column = "<<column<<std::endl<<std::endl;
int **Arr = new int* [row];
for(int idx=0;idx<row;idx++)
{
Arr[idx] = new int[column];
}
for(int idx=0;idx<row;idx++)
for(int jdx=0;jdx<column;jdx++)
Arr[idx][jdx] = RangedRandDemo(0,99);
PrintArray(Arr,row,column);
Arr = BubleSortByDown(Arr, row, column);
PrintArray(Arr,row,column);
for(int idx=0;idx<row;idx++)
delete []Arr[idx];
delete []Arr;
std::cout<<std::endl;
system("pause");
return 0;
}
int RangedRandDemo( int range_min, int range_max)
{
int u = (double)rand() / (RAND_MAX + 1) * (range_max - range_min) + range_min;
return u;
}
void PrintArray(int **Arr, int row, int column)
{
std::cout<<"Array:"<<std::endl;
for(int idx=0;idx<row;idx++)
{
for(int jdx=0;jdx<column;jdx++)
{
std::cout<<Arr[idx][jdx]<<"\t";
}
std::cout<<std::endl;
}
}
int **BubleSortByDown(int **Arr, int row, int column)
{
bool flag = false;
do
{
flag = false;
for(int jdx=0;jdx<column;jdx++)
{
for(int idx=0;idx<row - 1;idx++)
{
if(Arr[idx][jdx] < Arr[idx+1][jdx])
{
flag = true;
int tmp = Arr[idx][jdx];
Arr[idx][jdx] = Arr[idx+1][jdx];
Arr[idx+1][jdx] = tmp;
}
}
}
}
while(flag);
return Arr;
}
#include<ctime>
int RangedRandDemo( int range_min, int range_max );
void PrintArray(int **Arr, int row, int column);
int **BubleSortByDown(int **Arr, int row, int column);
int main()
{
srand((unsigned int )time(NULL));
int row = RangedRandDemo(2,7);
int column = RangedRandDemo(2,7);
std::cout<<"Row = "<<row<<"\t"<<"Column = "<<column<<std::endl<<std::endl;
int **Arr = new int* [row];
for(int idx=0;idx<row;idx++)
{
Arr[idx] = new int[column];
}
for(int idx=0;idx<row;idx++)
for(int jdx=0;jdx<column;jdx++)
Arr[idx][jdx] = RangedRandDemo(0,99);
PrintArray(Arr,row,column);
Arr = BubleSortByDown(Arr, row, column);
PrintArray(Arr,row,column);
for(int idx=0;idx<row;idx++)
delete []Arr[idx];
delete []Arr;
std::cout<<std::endl;
system("pause");
return 0;
}
int RangedRandDemo( int range_min, int range_max)
{
int u = (double)rand() / (RAND_MAX + 1) * (range_max - range_min) + range_min;
return u;
}
void PrintArray(int **Arr, int row, int column)
{
std::cout<<"Array:"<<std::endl;
for(int idx=0;idx<row;idx++)
{
for(int jdx=0;jdx<column;jdx++)
{
std::cout<<Arr[idx][jdx]<<"\t";
}
std::cout<<std::endl;
}
}
int **BubleSortByDown(int **Arr, int row, int column)
{
bool flag = false;
do
{
flag = false;
for(int jdx=0;jdx<column;jdx++)
{
for(int idx=0;idx<row - 1;idx++)
{
if(Arr[idx][jdx] < Arr[idx+1][jdx])
{
flag = true;
int tmp = Arr[idx][jdx];
Arr[idx][jdx] = Arr[idx+1][jdx];
Arr[idx+1][jdx] = tmp;
}
}
}
}
while(flag);
return Arr;
}