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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.11.2011, 16:06   #1
Dangersss
 
Регистрация: 02.11.2011
Сообщений: 8
По умолчанию Паскаль, сортировка.

Здарвствуйте.
Который день уже не могу решить задачу, может вы поможете?

Условие задачи:
Надо вывести четные элементы по возрастанию для всей матрицы по строкам.

Заранее Спасибо!
Dangersss вне форума Ответить с цитированием
Старый 03.11.2011, 09:44   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

1) чем Вам помочь то? Вы же свой код не выкладываете, что не получается - не пишите... который день решаете, хоть какие-то наработки есть?!

2) что подразумевается "для всей матрицы по строкам"?
например, для матрицы:
Код:
 1 2 16 8
12 22 7 6
18 10 4 2
что должна вывести программа?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 03.11.2011, 15:04   #3
Dangersss
 
Регистрация: 02.11.2011
Сообщений: 8
По умолчанию

Должна получиться матрица:
2 2 4 6
8 10 12 16
18 22 1 7

Тоесть надо вывести сначала все четные элементы матрицы по возрастанию, а потом все остальные элементы.
С помощью сортировки я нашел четные элементы (линейный массив) и присвоил их двумерному массиву.
Он у меня выводит все четные числа по возрастанию, но нечетные числа он заменяет нулями.
Пример:
2 2 4 6
8 10 12 16
18 22 0 0

Листинг написать не могу, т.к. пишу программу в колледже. Может быть как-нибудь получится скинуть его на флешку когда учитель отвернется)

Последний раз редактировалось Stilet; 03.11.2011 в 15:40.
Dangersss вне форума Ответить с цитированием
Старый 03.11.2011, 15:08   #4
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Сортировку в студию. По идее, достаточно определить функцию сравнения чисел вместо (a<b) IsLesser(a,b), которая возвращает true, если либо a чётное, а b нечётное, либо (a+b) чётное и a<b.
Abstraction вне форума Ответить с цитированием
Старый 03.11.2011, 15:49   #5
Dangersss
 
Регистрация: 02.11.2011
Сообщений: 8
По умолчанию

Сортировку я так писал:
if c[z]>c[z+1] then {c[z] - четные числа введенной матрицы}
begin
x:=c[z];
c[z]:=c[z+1];
c[z+1]:=x;
end;
Dangersss вне форума Ответить с цитированием
Старый 03.11.2011, 16:00   #6
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Запишите в массив c не чётные элементы, а все элементы и поменяйте условие if описанным образом. Должно помочь.
Abstraction вне форума Ответить с цитированием
Старый 03.11.2011, 16:10   #7
Dangersss
 
Регистрация: 02.11.2011
Сообщений: 8
По умолчанию

Мы в колледже не проходили команду IsLesser. Но, благодаря вам, я придумал другое решение. Сделать два линейных массива (четные числа и остальные). Потом присвоить матрице сначала отсортированные четные элементы, а потом остальные.

Наверное, эту задачу можно решить проще. Но другой вариант её решения мне в голову не приходит )
Dangersss вне форума Ответить с цитированием
Старый 03.11.2011, 16:23   #8
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
Мы в колледже не проходили команду IsLesser.
Кхм. Я вообще-то предполагал, что Вы такую функцию напишете.
Abstraction вне форума Ответить с цитированием
Старый 03.11.2011, 16:36   #9
Dangersss
 
Регистрация: 02.11.2011
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Abstraction Посмотреть сообщение
Кхм. Я вообще-то предполагал, что Вы такую функцию напишете.
Использовать её в задаче я не могу, т.к. 1). Не знаю что эта команда обозначает. 2) Мы её не проходили в течении практики (Препод поймёт что решал не я ).
Dangersss вне форума Ответить с цитированием
Старый 03.11.2011, 16:38   #10
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Минутку. Какая "команда"? Функции вы ещё не проходили, что ли? Тогда проходите быстрей, писать всё в одном блоке - это не жизнь.
Abstraction вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка паскаль Arabic_Coffee Помощь студентам 1 18.05.2011 21:03
Паскаль. Сортировка recerpascal Помощь студентам 3 20.04.2011 00:42
Сортировка, Паскаль masterlomaster Помощь студентам 1 16.12.2010 11:16
паскаль,одномерный массив,сортировка вставка,сортировка убывания,от максимального до конца немозг Помощь студентам 11 06.02.2010 21:57