Помощь - Поиск - Пользователи - Календарь
Полная версия: обработка последовательностей значений.
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Valkirie
Help !

Дана последовательность чисел ai. Построить новую последовательность bi, где элемент bi равен максимальному из элементов от a1 до ai.
APAL
Где-то это уже было... из одного учебного учереждения что ли...
Valkirie
Наврятли....
Я из Риги...
Это лабораторка моя..я не совсем понимаю..как эту последовательность описать
volvo
Описать a и b как два одинаковых массива... они же будут иметь один размер ...
APAL
Описать можно и даже нужно массивом.
Код
Const N=10;
Var a,b : array [1..N] of Integer;
Valkirie
volvo
Мы ещё не учили массивы... =(
Так что их там быть не может...
APAL
Тогда сложнее:
Надо использовать ручной ввод элементов с одновременным выводом второй последовательности. Тогда массив не нужен.
volvo
Цитата
Дана последовательность чисел


и с ней работать без массива?
blink.gif

А как?
APAL
volvo,
Может Валькирия сама сделает... если нет покажу. smile.gif
volvo
APAL

Я прочитал твой предыдущий пост. Понятно. Так даже проще... :yes:
Valkirie
я вот не знаю как эту законамерность для нахождения максимума написать
вот например, если
Код
a1:=StrToInt(ListBox1.Items[i1])
ai:=StrToInt(ListBox1.Items[i])

тогда... элемент bi поидее получается равен max промежутка а1 до аi
Вот а как это всё записать не знаю...
Вроде и понимаю..а решить не могу...;(
Или понимаю не так...
Valkirie
APAL
Если бы сама знала как это всё обозначить...то уже давно сделала бы =(
volvo
Valkirie

А попробуй записать НА БУМАГЕ, как изменяется В(i) в зависимости от изменения A(i)...
APAL
Valkirie, если это Delphi, то может я перенесу это в соответствующий раздел?
Или не важно на чем писать, главное алгоритм понять?
Valkirie
APAL
Всё равно... сам алгоритм важен ;)
Как на Делфи переписать я знаю...

volvo
Уже пробовала...
У меня получается что элемент b5 соответственно равен максимому от интервала (a1;a5)
APAL
Код
Var a,m : Integer;
Begin
m:=-30000;
Repeat
 Write('Ai = ');Readln(a);
 If a>m then m:=a;
 Writeln('     Bi =     ',m)
Until a=-30000;  {условие выхода}
End.

Теперь только навести "маникюр"... smile.gif
Valkirie
Сейчас попробуем ;)
Спасибо
Rothmans
Код

const i=100 {for example}

var a,b:array[1..i] of integer;
     m:integer;
      j:integer;
begin
   for j:=1 to i do a[j]:=random(1000); {init a}
   m:=a[1];
   for j:=1 to i do
      begin
         if a[j]>m then m:=a[j];
         b[j]:=m;
      end;
end.

Кажется незачем связываться с вводом/выводом, если только препод об этом не попросил. Исходя из условий, массив "a" дан.
volvo
Rothmans

Valkirie же сказала:

Цитата
Мы ещё не учили массивы... =( Так что их там быть не может...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.