Valkirie
12.11.2004 20:29
Help !
Дана последовательность чисел ai. Построить новую последовательность bi, где элемент bi равен максимальному из элементов от a1 до ai.
Где-то это уже было... из одного учебного учереждения что ли...
Valkirie
12.11.2004 20:37
Наврятли....
Я из Риги...
Это лабораторка моя..я не совсем понимаю..как эту последовательность описать
Описать a и b как два одинаковых массива... они же будут иметь один размер ...
Описать можно и даже нужно массивом.
Код
Const N=10;
Var a,b : array [1..N] of Integer;
Valkirie
12.11.2004 20:42
volvo
Мы ещё не учили массивы... =(
Так что их там быть не может...
Тогда сложнее:
Надо использовать ручной ввод элементов с одновременным выводом второй последовательности. Тогда массив не нужен.
Цитата
Дана последовательность чисел
и с ней работать без массива?
А как?
volvo,
Может Валькирия сама сделает... если нет покажу.
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
Если бы сама знала как это всё обозначить...то уже давно сделала бы =(
Valkirie
А попробуй записать НА БУМАГЕ, как изменяется В(i) в зависимости от изменения A(i)...
Valkirie, если это Delphi, то может я перенесу это в соответствующий раздел?
Или не важно на чем писать, главное алгоритм понять?
Valkirie
12.11.2004 21:01
APAL
Всё равно... сам алгоритм важен ;)
Как на Делфи переписать я знаю...
volvo
Уже пробовала...
У меня получается что элемент b5 соответственно равен максимому от интервала (a1;a5)
Код
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.
Теперь только навести "маникюр"...
Valkirie
12.11.2004 21:05
Сейчас попробуем ;)
Спасибо
Код
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" дан.
Rothmans Valkirie же сказала:
Цитата
Мы ещё не учили массивы... =( Так что их там быть не может...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста,
нажмите сюда.