Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.08.27;
Скачать: CL | DM;

Вниз

массивы   Найти похожие ветки 

 
bag   (2010-02-28 22:24) [0]

Мастера, помогите решить задачу. Имеются 20 массивов размерностью 4.
Эти массивы созданы изначально имеют строго по 4 элемента чисел типа integer
mass_1:array[1..4] of integer;
mass_2:array[1..4] of integer;
etc
Во время программы в каждый элемент каждого из массива записываются случайные числа.
Задача такая: мне нужно создать еще 5 массивов размерностью 16 каждый.
И заполнить скажем 1 массив числами из первых 4 масиввов(те 4 из 20 ранее созданных).
Второй массив числами из след. 4 массивов и т.д.
Как это реализовать, прошу помочь!


 
Fenik ©   (2010-02-28 22:47) [1]

Начиная с D5 можно использовать динамические массивы. Примерно так:

type
 TMyIntArray = array of array of Integer; // двумерный динамический массив
const
 SRC_W = 20;
 SRC_H = 4;
var
 src: TMyIntArray;
 dst: TMyIntArray;
 I, J, X, Y: Integer;
begin
 // Создаем первый двумерный массив
 SetLength(src, SRC_W, SRC_H);
 // Заполняем числами
 for I := 0 to SRC_W - 1 do
 begin
   for J := 0 to SRC_H - 1 do
     src[I, J] := Random(1000);
 end;

 // Создаем второй массив
 SetLength(dst, 5, 16);
 // Заполняем числами из первого массива
 X := 0; // Индекс ряда первого массива
 Y := 0; // Индекс столбца первого масива
 for I := 0 to High(dst) do
 begin
   for J := 0 to High(dst[I]) do
   begin
     dst[I, J] := src[X, Y];

     Inc(Y);
     if Y >= SRC_H then
     begin
       Y := 0;
       Inc(X);
       if X >= SRC_W then
         X := 0;
     end;
   end;
 end;
end;


Набирал в браузере, возможны ошибки.



Страницы: 1 вся ветка

Текущий архив: 2010.08.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.069 c
2-1271246381
Анна
2010-04-14 15:59
2010.08.27
mssql2000 и select из ХП


15-1271160223
Медвежонок Пятачок
2010-04-13 16:03
2010.08.27
нас ждет еще один капец


11-1215989987
Freeman
2008-07-14 02:59
2010.08.27
KOL Format/wvsprintf performance hit


15-1271942767
Mozart
2010-04-22 17:26
2010.08.27
построение октаэдра


4-1235851954
Тыщ
2009-02-28 23:12
2010.08.27
Запустил раз — включилось, запустил второй — выключилось