Задать вопрос
17 октября, 18:47

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

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.

+2
Ответы (1)
  1. 17 октября, 20:25
    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; ...» по предмету 📘 Информатика, а если вы сомневаетесь в правильности ответов или ответ отсутствует, то попробуйте воспользоваться умным поиском на сайте и найти ответы на похожие вопросы.
Смотреть другие ответы
Похожие вопросы по информатике
Укажите верное описание целочисленного массива mass, состоящего из 10 элементов. Интервал значений элементов [0; 100] 1) var mass:array of integer; 2) var mass:array[1 ... 10] of integer; 3) var mass:array[0 ... 100] of integer; 4) var mass:array[0 .
Ответы (1)
Дано условие задачи и ее решение, содержащее пропуски. Заполнить пропуски Type LinMass = Array[1 ... 100] Of Integer; Var A : LinMass; N, i, max, min : Integer; begin Write ('Количество элементов массива?
Ответы (1)
1. Какие из приведенных описаний являются неправильными и почему? • var a: array [1 ... 20] of integer; • type myarray=array [1 ... 20]; var b: myarray; • var sd: array [1 ... n] of integer; • var dd: array[1] of integer;
Ответы (1)
Какие описания массивов являются правильными с точки зрения компилятора языка Pascal? var a1: array[-1000 ... 50] of integer; const m1 = 20; m2 = m1*100; var a6: array[m1 ... m2] of - 200 ... 200; var a2: array[200 ...
Ответы (2)
Укажите правильное описание целочисленного линейного массива из 100 элементов. 1.) var B: array [1 ... 100] of real; 2.) var M: array [1 ... 100] of char; 3.) var A: array [0 ... 99] of string; 4.) var G: array [5 ... 104] of integer;
Ответы (1)