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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.04.2012, 19:48   #1
Semiotica
 
Регистрация: 05.03.2012
Сообщений: 7
По умолчанию (Delphi) разделение одного массива на несколько других

Здравствуйте. имеется перемешанный массив строк в мемо... можно ли этот массив разделить на несколько других массивов по 3 элемента?
при условии, что массив должен быть динамический.. так как не известно кол-во массивов , которое получится..
и надо первые три элемента в один массив, след. три в другой.. то есть последовательно убирать по 3 строки в массивы.. а если кол-во строк нечетное, то оставшиеся 1-2 вопроса в самый последний ..
какие могут быть варианты реализации ?
Semiotica вне форума Ответить с цитированием
Старый 18.04.2012, 19:58   #2
ZoRT
Пользователь
 
Регистрация: 20.01.2012
Сообщений: 16
По умолчанию

т.е у вас есть одномерный массив строк (размерность n), а вам его преобразовать в двумерный размерностью [n/3][3]?
ZoRT вне форума Ответить с цитированием
Старый 18.04.2012, 20:03   #3
Semiotica
 
Регистрация: 05.03.2012
Сообщений: 7
По умолчанию

да, получается так..
вообще задача в составление экзаменационных билетов.. из списка вопросов.. нужно в 1 билете 3 вопроса..

вот сама программа, что имеется..
Вложения
Тип файла: rar в1.rar (166.2 Кб, 15 просмотров)
Semiotica вне форума Ответить с цитированием
Старый 18.04.2012, 20:10   #4
IQDDD
Пользователь
 
Регистрация: 12.09.2008
Сообщений: 17
По умолчанию

Имя "Цикл" вам о чём-нибудь говорит?
IQDDD вне форума Ответить с цитированием
Старый 18.04.2012, 20:12   #5
Semiotica
 
Регистрация: 05.03.2012
Сообщений: 7
По умолчанию

говорит, но я не могу понять как его осуществить
Semiotica вне форума Ответить с цитированием
Старый 18.04.2012, 20:42   #6
ZoRT
Пользователь
 
Регистрация: 20.01.2012
Сообщений: 16
По умолчанию

приблизительно так, там уже сам смотри.
Код:
procedure TForm1.Button3Click(Sender: TObject);
var a: array of array of string;
    i, j, c: integer;
begin
  Setlength(a,Memo1.Lines.Count div 3, 3);
  c:=0;
  for i := 0 to Memo1.Lines.Count div 3 - 1 do
    for j := 0 to 2 do
      begin
        a[i][j]:= Memo1.Lines[c];
        inc(c);
      end;
end;
ps: там будут выполняться лишние операции, например эл-т массива [7][1], [7][2] будут так же заполняться(пустой строкой)
ps ps: и массив м.б. с меньшими значениями надо было инициализировать, я точно не знаю как тут..)))
ZoRT вне форума Ответить с цитированием
Старый 01.05.2012, 21:42   #7
Semiotica
 
Регистрация: 05.03.2012
Сообщений: 7
По умолчанию

ZoRT
, спасибо большое за помощь)
Semiotica вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Delphi] Присвоеие элементос из одного массива другому. IvaN9900 Помощь студентам 2 04.04.2012 12:12
Разделение массива на несколько массивов kpachbiu PHP 14 28.12.2010 16:03
Разделение данных на несколько ячеек d_adilet Microsoft Office Access 6 29.06.2010 09:28
Запись чисел из одного массива в 2 других(в зависимости от парности) chester20 Помощь студентам 0 04.03.2010 15:23
Разделение интернета на несколько компов Retiz Компьютерное железо 11 10.10.2008 22:40