Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: 6317
Последний выпуск: 19.06.2015

помогите создать матрицу и отсортировать столбцы по уменьшению

85K
30 октября 2012 года
rtereha1
1 / / 30.10.2012
помогите создать матрицу и отсортировать столбцы по уменьшению
459
31 октября 2012 года
cronya
420 / / 03.01.2009
ну так можно


Код:
#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;
}

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог