Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Массив


Thor234 ©   (2008-10-30 12:36:00) 

Ребят есть функция которая по циклу отбирает из одного массива нужные мне элементы, что-то никак не могу сообразить как отобранные данные записать в другой массив по порядку.
Не судите строго, я начинающий, вот что у меня получилось:
Rez и Coll массивы

j:integer=0;
i:integer;
...
j:=j+1;
Rez[j]:=Coll[i];

может можно еще как то и будет ли это правильным?


Thor234   (2008-10-30 13:27:00) [1]

Всем большое спасибо, разобрался.

з.ы. по поводу намудрено: это действительно так и есть :) дело в том что это просто наброски, а не код, писал так чтобы было понятно мне и естественно будет не понятно другим :) в любом случае спасибо, то что мне нужно я услышал


Anatoly Podgoretsky   (2008-10-30 13:18:00) [2]

> Thor234  (30.10.2008 12:55:02)  [2]

Теперь вообще не видать никакого присваивания.


Anatoly Podgoretsky   (2008-10-30 13:16:00) [3]

> Thor234  (30.10.2008 12:36:00)  [0]

Все дело в ...


Рамиль   (2008-10-30 13:14:00) [4]

Ну,если брать во внимание только первый пост, то решение правильное, а в [2] что-то намудрено.

Для статических массивов с 1:

i, j: Integer;

j := 1;

for i := 1 to N do
 if ПодходитПодУсловие(Coll[i]) then
 begin
   Rez[j] := Coll[i];
   inc(j);
 end  


Сергей М.   (2008-10-30 13:02:00) [5]


> Get(); \\функция возвращает массив Coll


Что-то не видно тут никакой функции..


> Coll.Count


Ты же сказал, что Coll - это массив ?
Тогда что такое Count ?
Это же не структура и не объект ..

И почему индексация элементов массива начинается с 1 ?
Он, массив, у тебя статический ?


> как правильно записать в массив Rez отобранные элементы


Это зависит от декларации массива, а ты ее не привел ..


Thor234   (2008-10-30 12:55:00) [6]

Код на самом деле думаю ничего не даст.
Это не код а пока просто черновые наброски

procedure Rec;
begin
 Get(); \\функция возвращает массив Coll
  for i:=1 to Coll.Count do  \\Coll.Count число элементов в массиве Coll
   begin
    if Go(Coll[i+1]) then \\Go проверяет удовлетворяет ли текущий элемент условиям отбора и если да, то переходит к следующему
     Rec
      else записываем в массив rez \\если перейти не получилось то нужно записать. вот тут и проблема, как правильно записать в массив Rez отобранные элементы
    end;
   end;
end.


Сергей М.   (2008-10-30 12:46:00) [7]


> будет ли это правильным?


Ты бы привел код целиком ..


Наверх

Титульная страница Поиск, карта сайта Написать письмо