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

Переставить строки матрицы так, чтобы элементы последнего столбца были отсортированы по возрастанию - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Базовый уровень http://www.cyberforum.ru/cpp-beginners/thread992083.html
Парни, помогите с написанием текста программ. Новичек, пытаюсь понять как все работает. Буду очень благодарен, так как задачки эти преподу нужно будет показать( а у меня не получается. что-то я...
C++ Найти числа в1,в2,...вm,равные наименьшим значениям строк Найти числа в1,в2,...вm,равные наименьшим значениям строк. http://www.cyberforum.ru/cpp-beginners/thread992073.html
C++ Необходимо грамотное отсечение столбцов и строк двумерного массива!
Начинаю программировать на С++. Необходимо отсечь строки и столбцы двумерного массива. Если это возможно то из самой памяти. Заранее спасибо. Желательно с комментариями. Желательно применимо к...
Определить название месяца C++
Друзья, помогите пожалуйста решить задачки и записать их на С++. 2. С начала 1990 года по некоторый день прошло n месяцев и 2 дня. Определить название месяца(январь,февраль и т.п.) этого дня. Год...
C++ Вывести на экран числа: http://www.cyberforum.ru/cpp-beginners/thread992046.html
Вывести на экран числа следующим образом двумя способами с помощью оператора цикла while, do while. 25 25.5 24.8 26 26.5 25.8 ................. 35 35.5 34.8 Спасибо.
C++ Не могу доработать программу Вообщем такое задание :Описать структуру с именем Order, содержащую следующие поля: plat-расчетный счет плательщика, pol- расчетный счет получателя, summa-перечисляемая сумма. Написать программу,... подробнее

Показать сообщение отдельно
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6486 / 3130 / 307
Регистрация: 04.12.2011
Сообщений: 8,644
Записей в блоге: 5
30.10.2013, 02:18
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
#include <iostream>//это всегда хорошо (потоки cin,cout,cerr)
#include <ctime>   //time() - для получения числа засевающего (случайно инициализирующего) random()
#include <cstdlib> //srand() - засевает рандомайзер длинным целым от которого тот генерит псевдослучайное число, rand() - сам рандомайзер
#include <windows.h>
using namespace std;
 
int main()
{
SetConsoleCP (1251); SetConsoleOutputCP (1251);
 
int sz_matr_columns;//количество элементов в строке (столбцов)
cout << "Введите количество элементов в строке 2-D матрицы " << endl;
cin >> sz_matr_columns;
int sz_matr_rows;//количество элементов в столбцe (строк)
cout << "Введите количество элементов в столбце 2-D матрицы " << endl;
cin >> sz_matr_rows;
int **matrix_2d = new int *[sz_matr_rows];
for( int i = 0; i < sz_matr_rows; ++i) matrix_2d[i] = new int[sz_matr_columns];
srand((int)time(0));//сеем рандомайзер
//диапазон элементов задайте сами, а для примера: 
int minElemArr=0;
int maxElemArr=sz_matr_columns*sz_matr_rows;
//выводим полученную матрицу
cout<<"\nСгененерировали::"<<endl;
for( int i = 0; i < sz_matr_rows; ++i){
    for( int j = 0; j < sz_matr_columns; ++j){
matrix_2d[i][j] = minElemArr +rand()%(maxElemArr - minElemArr+1);
cout<<matrix_2d[i][j]<<"\t";
    }
cout<<endl;
}
//пузырёк:)
//сортируем указатели на строки матрицы по знаяению последнего элемента строки
int *ptr_tmp=0;
for(int i = 0; i<sz_matr_rows-1; ++i){
for(int j = sz_matr_rows-1; j > i; --j){
    if(matrix_2d[j-1][sz_matr_columns-1] > matrix_2d[j][sz_matr_columns-1]){
ptr_tmp = matrix_2d[j-1];
matrix_2d[j-1] = matrix_2d[j];
matrix_2d[j] = ptr_tmp;
    }
}
}
cout<<"\nОтсортировали:"<<endl;
//выводим отсортированную матрицу
for( int i = 0; i < sz_matr_rows; ++i){
    for( int j = 0; j < sz_matr_columns; ++j){
cout<<matrix_2d[i][j]<<"\t";
    }
cout<<endl;
}
 
cout << endl;
system ("pause" );
    return 0;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru