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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
TuMbI4
0 / 0 / 0
Регистрация: 04.05.2012
Сообщений: 5
#1

Сортировка динамической матрицы - C++

09.05.2012, 13:29. Просмотров 985. Ответов 7
Метки нет (Все метки)

Написать программу сортировки динамического двумерного массива.

Общее задание:
Динамический двумерный массив (массив строк или матрица чисел - см. свой вариант задания) объявляется в виде массива указателей на одномерные массивы.
Пользователь при запуске программы вводит размерности массива (M x N): M - число строк, N - количество чисел или символов в строке (см. пример выделения и освобождения памяти для многомерных массивов). Затем пользователь заполняет массив данными (не забудьте про проверку на корректность ввода данных массива и размерностей M и N).
Затем выполняется сортировка массива заданным способом по определенному критерию (см. свой вариант задания).
На экране необходимо распечатать исходный массив и его отсортированный вариант.
Предусмотрите возможность пошагового вывода на экран при выполнении сортировки (пользователь выбирает режим в меню самостоятельно - сортировать по шагам или сразу получить результат).

Важно: При сортировке оперируйте указателями на одномерные массивы, не копируя и не переставляя элементы в одномерных массивых в памяти программы.

В программе опишите отдельные функции для:
ввода данных;
подсчета характеристики одномерного массива (критерия, по которому будет осуществляться сортировка);
сортировки двумерного массива;
вывода данных на экран.

Программа должна корректно выделять память и корректно ее освобождать после использования!

Тип данных: массив строк (пользователем задается количество строк и максимальное количество символов в строке)
Критерий сортировки: по длине (количество символов в строке), для строк равной длины - в алфавитном порядке
Алгоритм сортировки: сортировка перемешиванием (Шейкерная сортировка) (Cocktail sort)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Infinity3000
 Аватар для Infinity3000
1057 / 576 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
09.05.2012, 14:43     Сортировка динамической матрицы #2
КиберФорум- компьютерный форум начинающих и профессиональных программистов, системных администраторов, администраторов баз данных. Бесплатная помощь в решении задач по программированию, решение проблем с компьютером.

В чем нужна помощь?

что конкретно не ясно?
TuMbI4
0 / 0 / 0
Регистрация: 04.05.2012
Сообщений: 5
09.05.2012, 14:47  [ТС]     Сортировка динамической матрицы #3
Не понятно само объявление в виде массива указателей на одномерные массивы.
Infinity3000
 Аватар для Infinity3000
1057 / 576 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
09.05.2012, 14:51     Сортировка динамической матрицы #4
Цитата Сообщение от TuMbI4 Посмотреть сообщение
Не понятно само объявление в виде массива указателей на одномерные массивы.


Цитата Сообщение от TuMbI4 Посмотреть сообщение
Динамический двумерный массив (массив строк или матрица чисел - см. свой вариант задания) объявляется в виде массива указателей на одномерные массивы.

выделяем память
C++
1
2
3
    int **matr = new int *[n]; // указатель на массив указ-лей;
    for (int i = 0; i < n; ++i) 
        matr[i] = new int [m];

освобождаем память

C++
1
2
3
for (int i = 0; i < n; i++)
        delete [] matr[i];
    delete [] matr;
antoha398
155 / 155 / 3
Регистрация: 29.03.2012
Сообщений: 418
09.05.2012, 14:51     Сортировка динамической матрицы #5
C++
1
2
3
int **mas = new int*[M];
for (int i=0; i <M; ++i)
  mas[i] = new int[N];
TuMbI4
0 / 0 / 0
Регистрация: 04.05.2012
Сообщений: 5
09.05.2012, 15:02  [ТС]     Сортировка динамической матрицы #6
А сама сортировка будет выполняться для указателя, или для обьявленого массива? Простите что туплю просто не могу понять эти указатели =(
Infinity3000
 Аватар для Infinity3000
1057 / 576 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
09.05.2012, 15:04     Сортировка динамической матрицы #7
Цитата Сообщение от TuMbI4 Посмотреть сообщение
А сама сортировка будет выполняться для указателя, или для обьявленого массива?
Вы же сортируете массив

Цитата Сообщение от TuMbI4 Посмотреть сообщение
Простите что туплю просто не могу понять эти указатели =(

Массивы и указатели
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.05.2012, 15:09     Сортировка динамической матрицы
Еще ссылки по теме:

Перегрузка оператора + для динамической матрицы C++
C++ Передача динамической матрицы в функцию
C++ Функция транспонирования динамической матрицы N*M
Создание динамической матрицы C++
Некорректный вывод динамической матрицы C++

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

Или воспользуйтесь поиском по форуму:
TuMbI4
0 / 0 / 0
Регистрация: 04.05.2012
Сообщений: 5
09.05.2012, 15:09  [ТС]     Сортировка динамической матрицы #8
Цитата Сообщение от Infinity3000 Посмотреть сообщение

Спасибо большое. Поразбираюсь до завтра если возникнут вопросы напишу. Еще раз спасибо.
Yandex
Объявления
09.05.2012, 15:09     Сортировка динамической матрицы
Ответ Создать тему
Опции темы

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