Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Записать алгоритм в Delphi, Проблема с записью алгоритма 
V
    Опции темы
la399fox
  Дата 21.2.2010, 01:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 3.3.2009

Репутация: нет
Всего: нет



Добрый вечер.
Подскажите пожалйста, как перевести алгоритм:

user posted image

Пока что пришел к решению в виде записи:

При условии что изначально:
              L0i = {0} Si = {10,11,12,13} maxJ Количество итераций

Код

...
type
      TL0i = record
            arrElem:     array of Integer;
            arrOutPut: array Of Integer;
      end;

      TSi = record
           arrElem: array of Integer;
      end;
var
    L0i: array of TL0i;
    Si: array of TSi;
    maxJ: Integer;

begin

...
    // Устаначливаем 0 значения
    SetLength(Si, Length(Si) + 1) ;
    SetLength(L0i, Length(L0i) + 1);
    SetLength(L0i[i].arrElem, Length(L0i[i].arrElem) + 1);
    SetLength(L0i[i].arrOutPut, Length(L0i[i].arrOutPut) + 1);
    maxJ:= 4;
    
    Si[0].arrElem:= 0;
    L0i[0].arrElem[0]:= 0;
    L0i[0].arrOutPut[0]:= 0;
...

    // Заполнили множество Si
    for ii:= 1 to StringGrid1.ColCount do
    begin
            SetLength(Si, Length(Si) + 1) ;
            Si[ii].arrElem:= IntToStr(StringGrid1.Cells[ii, 1]);
    end;

...

   // Собственно расчет L0i
   for I := 1 to maxJ do
   begin
        // Подсчет колиячества итераций для заполнения L0i и L1i
        IterCount:= Round(IntPower(2.0, I));

        // Увеличиваем вместимость шагов итерации на 1.
        // Вместимость итераций от 1 до maxJ
        SetLength(L0i, Length(L0i) + 1);

        // Цикл вычеслений значений L0i
        for J := 1 to IterCount do
        begin
            // Увеличиваем вместимость массива вычесленых значений на 1.
            // Вместимость массива в зависимости от шага итерации изменяется
            // от 1 до 2^n
            SetLength(L0i[i].arrElem, Length(L0i[i].arrElem) + 1);
            SetLength(L0i[i].arrOutPut, Length(L0i[i].arrOutPut) + 1);

             L0i[i].arrElemt[j]:= L0i[i].arrElem[j - 1]  + (StrToInt(StringGrid1.Cells[i, 2]) * Si[i].arrElem;
             L0i[i].arrOutPut[j]:= L0i[i].arrElemt[j];
        end;
   end;


Помогите пожалуйста до ума довести(( № день бьюсь над извращеной идеей препода
PM MAIL   Вверх
la399fox
  Дата 1.3.2010, 19:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 3.3.2009

Репутация: нет
Всего: нет



Спасибо за ответ огромное smile 

Тему можно удалять куда подальше(
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0612 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.