Задать вопрос
17 января, 00:59

Изменить данную программу, так, чтобы она удаляла все отрицательные элементы!

Type LinMass = array [1 ... 100] of Integer;

Var A : LinMass;

N, i, j, i1 : Integer;

begin

Write ('Количество элементов массива: ') ;

ReadLn (N) ;

i1:=0;

For I : = 1 To N Do

Begin

Write ('Введите A[', I, '] ') ;

ReadLn (A[i]) ;

if (A[i]<0) and (i1=0) then i1:=i;

End;

if i1=0 then write ('Отрицательных элементов нет')

else

begin

if i1=n then n:=n-1

else

begin

for i:=i1 to n-1 do

A[i]:=A[i+1];

n:=n-1;

end;

writeln ('Удаление первого отрицательного элемента') ;

For I : = 1 To N Do write (a[i]:6) ;

end;

end.

+4
Ответы (1)
  1. 17 января, 03:51
    0
    Var

    A: array [1 ... 100] of Integer;

    N, i, j, k: Integer;

    begin

    Write ('Количество элементов массива: ') ;

    ReadLn (N) ;

    k : = 0;

    for i : = 1 To N Do

    begin

    Write ('A[', I, '] = ') ;

    ReadLn (A[i]) ;

    {A[i] : = Random (100) - 50;

    write (A[i], ' ') ; }

    if A[i] < 0 then k : = i;

    end;

    writeln;

    {фильтр, если нет отрицательных}

    if k = 0 then begin

    write ('Отрицательных элементов нет') ;

    halt;

    end;

    writeln ('Удаление отрицательных элементов') ;

    k : = 1;

    while (n > 0) and (k < = n) do

    begin

    if A[k] < 0 then begin

    for i : = k to n - 1 do

    A[i] : = A[i + 1];

    n : = n - 1;

    end

    else k : = k + 1;

    end;

    for i : = 1 To N Do

    write (A[i], ' ') ;

    end.

    а вообще правильнее создать еще один массив и переписать туда нужные элементы - куда меньше операций, циклов и затрат памяти. Массив не предназначен для "удаления" элементов в нем
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «Изменить данную программу, так, чтобы она удаляла все отрицательные элементы! Type LinMass = array [1 ... 100] of Integer; Var A : LinMass; ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы