Помощь - Поиск - Пользователи - Календарь
Полная версия: Работа с массивами
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Гость
Помогите если сможете!
Даны два массива из дробных чисел,состоящие из N и P. Элементы в них упорядочены по возрастанию.
{это я реализовала}
Вопрос: Как посторить упорядоченый по возрастанию массив из N+P элементов данных массивов? mellow.gif
Адель
можно сначала построить массив N+P а потом ег отсортировать.
или пробежаться по элементам одного массива, "пихая" между ними элементы другого массива удоволетворяющие условию N[i]<=P[j]<N[i+1]
klem4
Есть замечательня сортировка слияниями, воспользуйся поиском.
Гость
Не смогла найти "сортировку слияниями" sad.gif Поиск мне показал всего несколько тем, но там нет такого...
Гость
Спасибо. Но ссылка "Методы сортировок" не открылась. А вторую ссылку я прочитала и попробовала воспользоваться. Но! Я не поняла как работает эта сортировка...Если можно, объясните, а то что-то никак не разберусь какая переменная чему отвечает...sad.gif
Гость
Можете помочь...?
k1:=n; k2:=m;
for i:=1 to k1 do
begin
c[i]:=a[i];
end;
for i:=1 to k2 do
begin
c[k1+i]:=b[i];
end;
for i:=1 to k1+k2 do write(c[i]:2 :2,' ');

Как этот код сделать через Процедуру? Подскажите, а то не могу понять...
Гость
type mas=array [1..100] of real;
var i,n,m,p:byte;
a,b,c:^mas;
Procedure vvod(var n:byte; var a:mas);
var i:byte;
begin
Writeln('Vvedite kol-vo elementov massiva');
readln(n);
for i:=1 to n do
begin
write('a[',i,']=');
readln(a[i]);
end;
writeln;
end;
begin
New(a); New(b); New©;
Vvod(n,a^);
Vvod(m,b^);


Может такое быть? Что в самой программе данные динамические,а в процедуре статические?
volvo
Да что вы так все заморачиваетесь с этим "статический/динамический"... Процедура она вообще всегда динамическая, ибо код и все локальные данные размещаются в стеке... А в приведенном фрагменте, кстати, mas передается по ссылке, то есть, указывает на данные, так что никаких (ни статических, ни динамических) данных, связанных с mas (кроме этого указателя) в процедуре нет...

А вообще, ответ на вопрос "Может ли такое быть" лучше всех даст Паскаль... Если программа компилируется, и выполняется, значит, может быть...
Malice
Цитата(volvo @ 10.04.2007 22:43) *

Процедура она вообще всегда динамическая, ибо код и все локальные данные размещаются в стеке...

Про код в стеке это наверное шутка была smile.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.