17.05.2015, 12:01 | #1 (permalink) |
Новичок
Регистрация: 02.04.2015
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Объединение сортированных массивов Pascal
Код Pascal type Tarray = array[1..500]of integer; var a, b, c : Tarray; i,n,m:integer; procedure Arrays(A : Tarray; B : Tarray; var C : Tarray); var n,m,i,j,k:integer; begin i:=1; j:=1; k:=1; while (i<=n) or (j<=m) do begin if (i<=n) and (j<=m) then begin if a[i]>b[j] then begin c[k]:= a[i]; inc (i); inc (k); end else begin c[k]:= b[j]; inc (j); inc (k); end end else if j>m then begin c[k]:= a[i]; inc (i); inc (k); end else if i>n then begin c[k]:= b[j]; inc (j); inc (k); end; end; end; begin write('Введите размер массива a - ');readln(n); write('Введите размер массива b - ');readln(m); writeln('Введите упорядоченный по невозрастанию массив a'); for i:=1 to n do read(a[i]); writeln('Введите упорядоченный по невозрастанию массив b'); for i:=1 to m do read(b[i]); Arrays(A,B,C); writeln('Массив с'); for i:=1 to m+n do write(c[i],' '); end. |
17.05.2015, 12:01 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Скорее всего участники форума давали ответы в схожих топиках Обработка двумерных массивов Pascal ABC Обработка одномерных массивов Pascal ABC Программа для обработки массивов с разным количеством элементов. Pascal |
17.05.2015, 12:16 | #2 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
А потому что m и n у Вас глобальные переменные. А Вы их повторно описываете в процедуре. В Паскале это означает, что, войдя в процедуру, программа "забывает" об их глобальных значениях и рассматривает, как локальные (действующие только внутри процедуры) и при этом по умолчанию обнуляет. Вывод: убрать из списка параметров процедуры m и n.
|
17.05.2015, 14:09 | #3 (permalink) |
Новичок
Регистрация: 02.04.2015
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Спасибо огромное
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|