![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
||||
|
||||
|
Как передать массивы различных размеров подпрограмме ? Pascal
|
|
#2
|
||||
|
||||
|
Код:
type TIntArray = array [1..100] of integer; TCharArray = array [1..100] of char; procedure someproc(intarr:TIntArray; var charvararr:TCharArray); begin //code here end; |
|
#3
|
||||
|
||||
|
обработка массивов различных размеров в одной процедуре.
|
|
#4
|
||||
|
||||
|
{Почему обработка идет в нескольких функциях:
Возможно, самой главной слабостью языка Pascal является то, что массивы рассматриваются как отдельные типы, а не как агрегация различных объектов одного типа. Это приводит к тому, что, например, array [1. .10] of Integer и аггау[1. .20] of integer представляют собой/разные типы данных. В результате алгоритмы обработки массивов усложняются, поскольку массивы различных размеров невозможно передать общей подпрограмме (например, подпрограмме перемножения матриц). Строки реализованы как массивы символов, что также затрудняет их обработку в случае строк различной длины.} |
|
#5
|
||||
|
||||
|
Ты бы определился что тебе надо.
|
|
#6
|
||||
|
||||
|
на примере обнуления массива чисел:
Код:
procedure A(var Arr : array of integer);
var i:byte;
begin
for i:=Low(Arr) to High(Arr) do /* Low и High - 1й и последний номер массива*/
Arr[i]:=0;
end; |