Помощь - Поиск - Пользователи - Календарь
Полная версия: и снова массивы
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Лейла
прочитала разобранные задачи все равно свои не смогла решить...не могу никак понять как решать...я совсем не бум-бум(((помогите пожалуйста...
1)Дано целое число N и набор из N целых чисел.Написать программу, которая находит номер первого максимального нечетного числа из данного набора.Если нечетные числа в наборе отсутствуют, то вывести 0.(как находить макс.элемент я знаю, сложность в том не знаю как первый нечетный)
2)Дано множество А из N точек с целочисленными координатами x,y. Порядок на координатной плоскости определим следующим образом sad.gifх1,у1)<(х2,у2), если либо х1<х2, либо х1=х2 и у1<у2.Расположить точки данного множества по возрастанию в соответствии с указанным порядком.
3)Написать программу, которая изменяет заданный массив случайных чисел(количество элементов равноN)по правилу продублировать в нем отрицательные элементы.Вывести размер полученного массива и его содержимое.Дополнительный масссив не использовать.
Lapp
Цитата(Лейла @ 17.05.2009 13:02) *
(как находить макс.элемент я знаю, сложность в том не знаю как первый нечетный)
Это очень просто. Делай как обычно, но с проверкой на нечетность. А первый - оно само так получится, если проверять строгим неравенством.
FirstMaxOdd:=0;
for i:=1 to N do if Odd(a[i]) then
if (FirstMaxOdd=0) or (a[FirstMaxOdd]<a[i]) then FirstMaxOdd:=i;
WriteLn(FirstMaxOdd);
Lapp
Цитата(Лейла @ 17.05.2009 13:02) *
2)Дано множество А из N точек с целочисленными координатами x,y. Порядок на координатной плоскости определим следующим образом sad.gifх1,у1)<(х2,у2), если либо х1<х2, либо х1=х2 и у1<у2.Расположить точки данного множества по возрастанию в соответствии с указанным порядком.
Вообще-то - на будущее - одна тема = одна задача (см. правила раздела вверху страницы). Но ладно уж..

смотри, примерно так:
....
type
tPoint = record
x,y: integer
end;
var
p: array[1..n]of tPoint;
b: tPoint;
....
for i:=2 to n do for j:=n downto 2 do if (p[i].x<p[i-1].x) or ((p[i].x=p[i-1].x) and (p[i].y<p[i-1].y)) then begin
b:=p[i];
p[i]:=p[i-1];
p[i-1]:=b
end;

Если что-то неясно - спрашивай.
Лейла
Спасибо огромное, учту на будущее smile.gif а ведь можно и без типа запись обойтись наверно)))
Lapp
можно наверно))))
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.