Форум программистов, компьютерный форум CyberForum.ru

Напишите функцию для обмена строк двумерного массива и с ее помощью отсортируйте массив с элементами третьего столбика - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.94
BVas31
0 / 0 / 0
Регистрация: 02.12.2010
Сообщений: 6
02.12.2010, 22:27     Напишите функцию для обмена строк двумерного массива и с ее помощью отсортируйте массив с элементами третьего столбика #1
Помогите,пожалуйста,написать функцию.Вот задание:
Напишите функцию для обмена строк двумерного массива и с ее помощью отсортируйте массив с элементами третьего столбика.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.12.2010, 22:27     Напишите функцию для обмена строк двумерного массива и с ее помощью отсортируйте массив с элементами третьего столбика
Посмотрите здесь:

C++ Для заданного двумерного массива из n строк и m столбцов:
C++ Написать функцию для обмена строк двумерного массива
C++ нужна функция для обмена строк двумерного массива на плюсах
C++ Массив: Напишите функцию, которая «убирает» из массива дубли.
C++ Написать функцию для удаления строки из двумерного массива
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vladimir.
155 / 155 / 10
Регистрация: 24.11.2009
Сообщений: 375
03.12.2010, 07:15     Напишите функцию для обмена строк двумерного массива и с ее помощью отсортируйте массив с элементами третьего столбика #2
Видимо, имеется ввиду сортировка по элементам третьего столбца...
Вспоминаем, что в си двумерный массив - массив массивов, с другой стороны имя массива является указателем на первый элемент. Значит: если нужно обменять две строки, то вовсе не обязательно менять значения элементов строк массива, можно просто поменять указатели на эти строки. Естественно при этом двумерный массив должен быть массивом строк.
решение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#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;
}
Bibi
0 / 0 / 0
Регистрация: 14.03.2013
Сообщений: 11
01.05.2013, 15:57     Напишите функцию для обмена строк двумерного массива и с ее помощью отсортируйте массив с элементами третьего столбика #3
Vladimir., здравствуйте!
Я запускаю программу, но задержку экрана сделать не получается!!!
Помогите пожалуйста!
faLek
99 / 100 / 7
Регистрация: 06.03.2012
Сообщений: 478
01.05.2013, 17:19     Напишите функцию для обмена строк двумерного массива и с ее помощью отсортируйте массив с элементами третьего столбика #4
Bibi, перед
C++
1
return 0;
,
C++
1
system("pause")
;
Bibi
0 / 0 / 0
Регистрация: 14.03.2013
Сообщений: 11
02.05.2013, 16:08     Напишите функцию для обмена строк двумерного массива и с ее помощью отсортируйте массив с элементами третьего столбика #5
faLek, извините пожалуйста, но у меня еще один вопрос... программа компилируется!
И результат такой...
Bibi
0 / 0 / 0
Регистрация: 14.03.2013
Сообщений: 11
02.05.2013, 16:14     Напишите функцию для обмена строк двумерного массива и с ее помощью отсортируйте массив с элементами третьего столбика #6
Напишите функцию для обмена строк двумерного массива и с ее помощью отсортируйте массив с элементами третьего столбика
Правильно да???
Bibi
0 / 0 / 0
Регистрация: 14.03.2013
Сообщений: 11
03.05.2013, 11:39     Напишите функцию для обмена строк двумерного массива и с ее помощью отсортируйте массив с элементами третьего столбика #7
правильно оказывается
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.11.2014, 11:58     Напишите функцию для обмена строк двумерного массива и с ее помощью отсортируйте массив с элементами третьего столбика
Еще ссылки по теме:

C++ Напишите функцию для обращения двумерного массива в одномерный
C++ С помощью функции обмена строк отсортировать матрицу по третьему столбцу
Составить одномерный массив из номеров строк двумерного массива C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
yozzi
3 / 3 / 1
Регистрация: 14.03.2013
Сообщений: 149
13.11.2014, 11:58     Напишите функцию для обмена строк двумерного массива и с ее помощью отсортируйте массив с элементами третьего столбика #8
Vladimir., а можно тоже самое, только реализовать без указателей?
Yandex
Объявления
13.11.2014, 11:58     Напишите функцию для обмена строк двумерного массива и с ее помощью отсортируйте массив с элементами третьего столбика
Ответ Создать тему
Опции темы

Текущее время: 06:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru