Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.12.2011, 12:33   #1
MaSTeD
 
Регистрация: 13.12.2011
Сообщений: 2
По умолчанию функция для обмена строк двумерного массива. Используя её, отсортировать массив по элементам третьего столбика ( С# )

функцию для обмена строк двумерного массива и с ее помощью отсортируйте массив по элементам третьего столбика
Есть код в С++. помогите её перевести в С# если кому то не сложно,буду очень благодарен
Код:
 
#include<iostream>
//для генерации случайного массива:
#include<time.h>
#include<stdlib.h>
//прототип нашей функции:
void my_swap(double* &a, double* &b);
 
 
int main(void){
 
//Создадим массив:
        double** matrix;
        int num_of_row = 8;
        int num_of_col = 6; //не меньше трёх
 
        matrix = new double* [num_of_row];
                for (int i=0; i<num_of_row; i++)
                                matrix[i]= new double [num_of_col];
//заполним его случайными числами от 1 до 100
        srand(time(NULL));
    for (int i=0; i<num_of_row;i++)
        for (int j=0;j<num_of_col;j++)
            matrix[i][j] = rand()%100 + 1;
// покажем до сортировки:
        for(int i=0;i<num_of_row;i++){
                for(int j=0;j<num_of_col;j++) 
                        std::cout<<matrix[i][j]<<"\t";
                std::cout<<std::endl;
        }
std::cout<<std::endl;
 
// собственно сортировка(ради разнообразия "гномья") 
// c помощью нашей функции my_swap:
        for (int i = 1;i < num_of_row;){
                if (matrix[i-1][2]>matrix[i][2]){
                        my_swap(matrix[i-1],matrix[i]);
                        i--;
                }
                else i++;
                
                if(i == 0) i++;
                        
        }
        //покажем после сортировки:
        for(int i=0;i<num_of_row;i++){
                for(int j=0;j<num_of_col;j++) 
                        std::cout<<matrix[i][j]<<"\t";
                std::cout<<std::endl;
        }               
 
//Освобождаем память:
        for (int i=0; i<num_of_row; i++)
                delete[] matrix[i];
        delete[] matrix;
 
return 0;       
}
 
void my_swap(double* &a, double* &b){
        double* tmp = a;
        a = b;
        b = tmp;
}

_________
1) Название темы должно адекватно отражать суть решаемой задачи/проблемы.
На первый раз я исправил.
В дальнейшем темы с подобным названием будут закрываться/удаляться.

2) Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)

Модератор.

Последний раз редактировалось MaSTeD; 13.12.2011 в 12:44.
MaSTeD вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отсортировать массив по четным элементам ,методом пузырька! Babur4iK Помощь студентам 13 27.05.2010 08:52
обращение к элементам двумерного массива через указатели в С++ серг Помощь студентам 17 06.12.2009 18:00
обращение к элементам двумерного массива через указатели серг Общие вопросы C/C++ 2 05.12.2009 23:33
обращение к элементам двумерного массива на С++ серг Помощь студентам 16 05.12.2009 21:01