Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ обработка последовательностей значений.

Автор: Valkirie 12.11.2004 20:29

Help !

Дана последовательность чисел ai. Построить новую последовательность bi, где элемент bi равен максимальному из элементов от a1 до ai.

Автор: APAL 12.11.2004 20:31

Где-то это уже было... из одного учебного учереждения что ли...

Автор: Valkirie 12.11.2004 20:37

Наврятли....
Я из Риги...
Это лабораторка моя..я не совсем понимаю..как эту последовательность описать

Автор: volvo 12.11.2004 20:39

Описать a и b как два одинаковых массива... они же будут иметь один размер ...

Автор: APAL 12.11.2004 20:42

Описать можно и даже нужно массивом.

Код
Const N=10;
Var a,b : array [1..N] of Integer;

Автор: Valkirie 12.11.2004 20:42

volvo
Мы ещё не учили массивы... =(
Так что их там быть не может...

Автор: APAL 12.11.2004 20:44

Тогда сложнее:
Надо использовать ручной ввод элементов с одновременным выводом второй последовательности. Тогда массив не нужен.

Автор: volvo 12.11.2004 20:45

Цитата
Дана последовательность чисел


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

А как?

Автор: APAL 12.11.2004 20:46

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

Автор: volvo 12.11.2004 20:49

APAL

Я прочитал твой предыдущий пост. Понятно. Так даже проще... :yes:

Автор: Valkirie 12.11.2004 20:50

я вот не знаю как эту законамерность для нахождения максимума написать
вот например, если

Код
a1:=StrToInt(ListBox1.Items[i1])
ai:=StrToInt(ListBox1.Items[i])

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

Автор: Valkirie 12.11.2004 20:53

APAL
Если бы сама знала как это всё обозначить...то уже давно сделала бы =(

Автор: volvo 12.11.2004 20:55

Valkirie

А попробуй записать НА БУМАГЕ, как изменяется В(i) в зависимости от изменения A(i)...

Автор: APAL 12.11.2004 20:56

Valkirie, если это Delphi, то может я перенесу это в соответствующий раздел?
Или не важно на чем писать, главное алгоритм понять?

Автор: Valkirie 12.11.2004 21:01

APAL
Всё равно... сам алгоритм важен ;)
Как на Делфи переписать я знаю...

volvo
Уже пробовала...
У меня получается что элемент b5 соответственно равен максимому от интервала (a1;a5)

Автор: APAL 12.11.2004 21:02

Код
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 12.11.2004 21:05

Сейчас попробуем ;)
Спасибо

Автор: Rothmans 13.11.2004 5:34

Код

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 13.11.2004 5:40

Rothmans

Valkirie же сказала:

Цитата
Мы ещё не учили массивы... =( Так что их там быть не может...