Дан массив( а) из n элементов , нужно удалить 1ый встретившиеся нулевой элемент из...

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

Дан массив( а) из n элементов , нужно удалить 1ый встретившиеся нулевой элемент из массива (помогите написать программу)


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

1. Какой язык программирования? 2. Что значит "удалить"? Подвинуть остальные элементы к началу массива? А что при этом делать с последним элементом? Считать, что массив стал на 1 элемент короче? Или нужно использовать динамический массив и поменять его размер? Либо просто заменить значение элемента на какое-то, которое считается значением "удалено"?

0

1) Pascal 2) Считать, что массив стал на 1 элемент короче

Дан 1 ответ
0 голосов
Правильный ответ

Const
  n=13;
var
  a:array[1..n] of integer;
  i,k,t:integer;
begin
  Randomize;
  Writeln('Исходный массив');
  for i:=1 to n do
    begin
    a[i]:=Random(21)-10;
    Write(a[i],' ')
    end;
  Writeln;
  { начало собственно программы }
  i:=1; k:=0;
  while (i<=n) and (k=0) do<br>    begin
    if a[i]=0 then k:=i;
    i:=i+1
    end;
  if k>0 then
    begin
    for i:=k to n-1 do a[i]:=a[i+1];
    Writeln('Массив-результат');
    for i:=1 to n-1 do Write(a[i],' ');
    Writeln
    end
  else
    Writeln('В массиве нет нулевых элементов')
end.

Контрольное решение
Исходный массив
6 -6 10 -9 6 9 0 10 6 0 -10 -3 6
Массив-результат
6 -6 10 -9 6 9 10 6 0 -10 -3 6

(150k баллов)