Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Закрытая тема
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 21.02.2010, 08:56
Muxa Muxa вне форума
Новичок
 
Регистрация: 01.06.2009
Сообщения: 80
Репутация: 10
По умолчанию Не получается реализовать(

Дана непустая последовательность положительных целых чисел а1,a2…., оканчивающаяся нулем. Получить a1, a1 *a2 , a1 *a2*a3 ,…, 0.
  #2  
Старый 21.02.2010, 09:51
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,087
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Называется "вложенный цикл".
Код:
var
  A : Array Of Integer; // сама последовательность, где последний эл = 0
  I, J : Integer;
  M : Integer;
begin
  For I := Length(A)-1 DownTo Low(A) Do
    Begin
      M := 1;
      For J := Low(A) To I Do
        M := M * A[J];
      A[i] := M;
    End;
end;

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

Код:
var
  A : Array Of Integer; // сама последовательность, где последний эл = 0
  I : Integer;
begin
  For I := Low(A)+1 To High(A)-1 Do
    A[i] := A[I-1] * A[i];
end;

Вот.
  #3  
Старый 21.02.2010, 10:07
Muxa Muxa вне форума
Новичок
 
Регистрация: 01.06.2009
Сообщения: 80
Репутация: 10
По умолчанию

Спасибо. Весь парился из-за того, что при реализации задачи нам было запрещено использование массивов.
  #4  
Старый 21.02.2010, 11:37
Muxa Muxa вне форума
Новичок
 
Регистрация: 01.06.2009
Сообщения: 80
Репутация: 10
По умолчанию

Тему можно закрыть

Последний раз редактировалось Muxa, 21.02.2010 в 12:31.
Закрытая тема


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 13:58.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025