Другие языки программирования и технологии

помогите с написание программы плиз:

Действия: переписать подряд в массив Y положительные элементы X
Массив: x(20)
Условие: -10<= x(с индексом i)<=5
Вот начал писать, а как дальше не знаю:
Program L2;
uses crt;
Var
x:array (1..20) of integer;
y:array (1..5) of integer;
z:integer;
Begin
clrscr
for z:=1 to 20 do
x[x-]:=

Вот только до этого момента сделал, помогите дорешать и блок-схему построить пожалуйста!! !
Доброго времени суток.

Немного не так, Wolf. Вы переписываете в массив Y числа из диапазона (-10 <= x[ i]) and (x[ i] >= 5), а по условию требуется переписать "положительные элементы X". Далее, массив объявлен как x:array [1..20] of integer;, а в цикле вы обращаетесь к нулевому элементу - ошибка выполнения обеспечена. Третье, "Условие: -10<= x(с индексом i)<=5" относится у элементам массива Х. И, четвертое, массивы должны иметь разные индексы. В общем программа будет такой.

var
X, Y : array [1..20] of Integer; {оба массива одинакового размера, т. к. не знаем сколько положительных элементов}
j,k : Integer; {индексы массивов}

begin
Randomize;
for j := 1 to 20 do x[j] := Random(16) - 10; {заполнение массива Х числами в диапазоне [-10;5]}

k := 0; {индекс элементов массива Y}
for j := 1 to 20 do
if x[j] > 0) then begin
k := k +1;
y[k] := x[j];
end;
for j := 1 to k do Write(y[j]:3);
ReadLn;
end.

Удачи!
Н-
Николай -Левит
59 612
Лучший ответ
Условие че то не совсем точное )))
Держи:
program L2;

var
x:array [1..20] of integer;
y:array [1..20] of integer;
i: Integer;
begin
Randomize;
for I := 0 to 20 do
begin
x[ i] := Random(-20);
if (-10 <= x[ i]) and (x[ i] >= 5) then
begin
y[ i] := x[ i];
write(y[ i],' ');
end;
end;
end.
Олег 12
Олег 12
867