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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.05.2011, 23:14   #11
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Выше в сообщении же написал почему. Массив с (и не только он) локальный для процедуры т.е. когда она завершится его уже не будет.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 21.05.2011, 21:05   #12
swillrocker
Пользователь
 
Регистрация: 04.05.2011
Сообщений: 44
По умолчанию

Код:
const
 m = 5 ;
 n = 6 ;
 l = m+n-1;
type
 arr1 = array[1..m] of integer ;
 arr2 = array[1..n] of integer ;
 arra = array[1..l] of integer ;

procedure ReArr(var a : array of integer) ;
var
 i : byte ;
begin
 for i:=1 to high(a) do
 begin
 read(a[i]);
 end;
end;

procedure WrArr(const a : array of integer) ;
var
 i : byte ;
begin
 for i :=1 to high(a) do
 begin
 write(a[i],' ');
 end;
end;

procedure KollmaArr(var c : array of integer ; const a,b : array of integer);
var
 i,j,m1,n1 : byte ;
begin
 m1 := high(a);
 n1 := m1+high(b)+1;
 for i := 1 to m1 do c[i] := a[i] ;
 j := 1 ;
 for I := m1+1 to n1 do
 begin
 c[i] := b[j];
 inc(j);
 end;
end;

ProcedurE sortir(var a : array of integer);
var
 i,j,k,nom : byte ;
 max : integer ;
Begin
 k := high(a);
 for i := k downto 1 do
 {2}begin
 max := a[1];
 nom := 1;
 for j := 1 to i do
 if (a[j] < max) then
 {1}begin
 max := a[j];
 nom := j;
 {1}end;
 a[nom]:= a[i];
 a[i] := max ;
 {2}end;
End;
{-----------------------------------}
var
 a : arr1;
 b : arr2;
 c : arra;

begin
 writeln('Enter ',m-1,' numbers');
 ReArr(a);write(#10);
 writeln('Enter ',n-1,' numbers');
 ReArr(b);
 KollmaArr(c,a,b);
 sortir(c);

 Write(#10);
 writeln('Sorted array m+nя');
 WrArr(c);
 readln;
 readln
end.
Вот... Вроде как работает при любых значениях(не считая там 9999999 и.т.д)
swillrocker вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
одномерные массивы. (pascal) Диляра - новичок Помощь студентам 7 01.12.2010 20:42
одномерные массивы. (pascal) Диляра - новичок Помощь студентам 7 16.11.2010 21:17
Одномерные массивы 2 (Pascal) Дима82 Помощь студентам 4 16.02.2009 21:21
Одномерные массивы(Pascal) Дима82 Помощь студентам 7 07.06.2008 15:33
Одномерные массивы - Pascal W_P Помощь студентам 8 27.02.2008 19:24