|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
22.06.2013, 16:17 | #1 |
Новичок
Джуниор
Регистрация: 22.06.2013
Сообщений: 2
|
Дана матрица действительных чисел A размера MxN, элементы строк которой упорядочиваются по неубыванию. Получить одномерный массив
Имеется матрица действительных чисел A размера MxN, элементы строк которой упорядочиваются по неубыванию, т.е. a[i1]<=a[i2]<=...a[in], 1<=i<=m. Преобразовать матрицу А в одномерный массив Х, упорядоченный также по неубыванию. Основное требование - эффективность решения.
P.s очень на вас надеюсь, если возможно с пояснениями. |
22.06.2013, 16:22 | #2 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,442
|
Где ваши наработки?
|
22.06.2013, 16:29 | #3 |
Новичок
Джуниор
Регистрация: 22.06.2013
Сообщений: 2
|
Вообще ничего нет((((
|
22.06.2013, 18:40 | #4 | |
Старожил
Регистрация: 12.11.2010
Сообщений: 8,570
|
А вот интересно, при переходе на новую строку упорядоченность сохраняется или нет?
Если да, то можно просто переписать все элементы построчно в одномерный массив. Если же нет, то чем отличается данная задача от той, где из обычной квадратной матрицы, элементы которой не обладают упорядоченностью, надо сделать упорядоченный массив? Почему отдельно оговорено, что Цитата:
|
|
22.06.2013, 20:10 | #5 |
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
Пути решения :
1) Загнать всё бездумно в массив и QSort'нуть 2) Реализовать процедурку слива одного массива в другой, на выходе - упорядоченный массив, и крутить её для 1 и 2 строки (загоняя во 2), далее для 2 и 3 (загоняя в 3), etc. Ессесно, №2 лучше.. В процедурке для лучшего поиска надо искать место для каждого элемента дихотомией.. |
23.06.2013, 00:58 | #6 | ||
Старожил
Регистрация: 23.10.2010
Сообщений: 2,304
|
Poma][a
Цитата:
Одномерный массив формируем так: 1. Копируем в одномерный массив первую строку. 2. В полученном масссиве дихотомией находим место для вставки следующей строки - функция PInsert с параметрами: массив данных, текущий размер данных, значение первого элемента строки. Возвращяет номер элемента, после которого надо выполнить вставку. 3. Вставляем строку - процедура Insert с параметрами: массив данных, массив с элементами строки, номер элемента, после которого надо вставить строку. 4. Если не конец, то п.2. Написал и задумался. А если элементы одной строки надо вставлять между ... Poma][a Цитата:
Типа: Вставить первый элемент строки - поиск точки вставки - от начала массива до его текущего размера. Вставить последний элемент строки - поиск от точки вставки первого элемента до текущего размера массива. Вставить второй элемент строки - поиск между предыдущими значениями. Вставить предпоследний элемент строки ... Вроде так, ...
Как-то так, ...
|
||
23.06.2013, 01:16 | #7 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,285
|
Вообще-то для объединения упорядоченных массивов есть Сортировка слиянием
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
23.06.2013, 13:08 | #8 |
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
BDA
Ну как так можно? Обломали весь кайф фи.. По теме : Помнится в этом (учебном) году на городской олимпиаде на теории (как я это ненавижу) была задача слива 2-х массивов в 1.. За слияние давали половину баллов (именно эту половину я и получил).. А за что-то (убей - не помню что) давали максимум.. Помню одно - там была дихотомия.. Т.к. сам ужасно ленив (эх да...), то на разборе ничего не писал.. Вот пробую достучаться до одногруппник |
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Дана прямоугольная матрица действительных чисел. | Black Panther | Помощь студентам | 3 | 29.11.2012 07:00 |
. Даны натуральные M, N и матрица действительных чисел размером MxN. Определить числа B1,B2,...,BM, равные разностям наи | Proskurina | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 29.05.2012 23:59 |
Дана квадратная матрица А из N элементов. Получить из нее одномерный массив, прочитав(язык си+++) | mitja-zakelidis | Помощь студентам | 7 | 17.03.2012 15:23 |
Дана квадратная матрица А из N элементов. Получить из нее одномерный массив(язык с++) | yury.zanilov | Помощь студентам | 6 | 16.03.2012 13:46 |
Дана матрица размера MxN и целое число К(1<K<M). Удалить строку матрицы с номером К | bolshe_ne_RUS | Паскаль, Turbo Pascal, PascalABC.NET | 6 | 14.06.2011 16:26 |