A2 & Oberon GOOGLE trans to English      Помощь      Поиск      Пользователи  Файловый архив


 Страниц (1): [1]   

> Описание: Динамическое изменение размеров динамических массивов
sage Администратор
Отправлено: 19 Января, 2009 - 16:45:05
Post Id


Full Member


Покинул форум
Сообщений всего: 218
Дата рег-ции: Июнь 2008  
Откуда: Киев, Украина
Репутация: 0




Математические расширения компилятора кроме инициализации массивов могут предоставить ещё и некоторый аналог функции SetLength из ObjectPascal. Например, уменьшить массив на один элемент можно так:
PROCEDURE p1*(con: Commands.Context);
VAR
arr: ARRAY [*] OF INTEGER;
i: LONGINT;
BEGIN
arr := [1, 2, 3, 4, 5];
con.out.Ln;
FOR i := 0 TO LEN(arr) - 1 DO
con.out.Int(arr[i], 3)
END;
con.out.Ln;
arr := arr[0..LEN(arr)-2];
FOR i := 0 TO LEN(arr) - 1 DO
con.out.Int(arr[i], 3)
END;
con.out.Ln
END p1;
В лог выведется:
Цитата:

1 2 3 4 5
1 2 3 4
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0, скрытых: 0)
« ActiveOberon »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Locations of visitors to this page
[Valid RSS]

RSS

Valid CSS!


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0057]     [ Gzipped ]