Дан одномерный массив . Упорядочить массив удалив нули со сдвигом влево ненулевых...

0 голосов
91 просмотров

Дан одномерный массив . Упорядочить массив удалив нули со сдвигом влево ненулевых элементов.


Информатика (16 баллов) | 91 просмотров
0

a[i]:=random(21)-10- как это действие понимать?

0

что такое "random" ?

0

Вам не объясняли?? Странно, это же напрямую связано с массивами. Ну это паскаль сам берет случайное число. В этом примере random(21)-10 значит, что выбирается случайное число из диапазона [-10;10]. Указывать диапазон, например [х;у], нужно по формуле Random (у-х+1)+х

Дан 1 ответ
0 голосов

Const n=10;
var a:array [1..n] of integer;
i,j,k,l:integer;
begin
{создание и вывод массива}
for i:=1 to n do
    begin
    a[i]:=random(21)-10;
    write (a[i],' ');
    end;
writeln;
{сортировка массива}
for j:=1 to n do
for i:=1 to n-1 do
if a[i]>a[i+1] then
   begin
   k:=a[i];
   a[i]:=a[i+1];
   a[i+1]:=k;
   end;
{Удаление нулей}
k:=0;
while k<>n do
      begin
      k:=k+1;
      if a[k]=0 then
         begin
         l:=l+1;
         for i:=k to n-1 do
         a[i]:=a[i+1];
         end;
      end;
{Вывод массива}
for i:=1 to n-l do
write (a[i],' ');
end.

(844 баллов)