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

линейный массив из 20 элементов заполнить случайными числами в диапазоне от 0 до 1000 и отсортировать по возрастанию

помогите решить задачу на qbasik
На Бейсике для qBasic:

DIM A(20) AS DOUBLE, Temp AS DOUBLE
DIM i AS INTEGER, j AS INTEGER
RANDOMIZE TIMER
PRINT "Дан массив A(20):"
FOR i = 1 TO 20
A(i) = RND * 1000
PRINT USING "#####.##"; A(i);
NEXT
i = 2
j = 3
DO WHILE i <= 20
IF A(i - 1) <= A(i) THEN
i = j
j = j + 1
ELSE
Temp = A(i)
A(i) = A(i - 1)
A(i - 1) = Temp
i = i - 1
IF i = 1 THEN
i = j
j = j + 1
END IF
END IF
LOOP
PRINT : PRINT
PRINT "Отсортированный массив: "
FOR i = 1 TO 20
PRINT USING "#####.##"; A(i);
NEXT
END

ДБ
Дмитрий Бойкин
51 590
Лучший ответ
Как-то так.

program arrays_sort;

var
a: array[1..20] of integer;
i, j, tmp: integer;

begin
Randomize;
for i := 1 to 20 do a[i] := Random(1001);
for i := 1 to 20 do write(a[i],' ');
for i := 1 to 20 - 1 do
for j := 1 to 20 - i do
if a[j + 1] < a[j] then
begin
tmp := a[j];
a[j] := a[j + 1];
a[j + 1] := tmp;
end;
writeln;
for i := 1 to 20 do write(a[i],' ');
end.

на PascalABC.NEt работает
Ой. Не заметил qbasic.

Похожие вопросы