В
Все
Х
Химия
В
Видео-ответы
А
Алгебра
Г
Геометрия
О
ОБЖ
Д
Другие предметы
У
Українська література
Р
Русский язык
Б
Беларуская мова
У
Українська мова
Э
Экономика
Ф
Физика
М
Математика
Ф
Французский язык
Г
География
И
Информатика
М
МХК
О
Окружающий мир
П
Психология
Н
Немецкий язык
О
Обществознание
П
Право
И
История
М
Музыка
Л
Литература
Қ
Қазақ тiлi
Б
Биология
А
Английский язык
Alyona2022
Alyona2022
18.05.2022 17:19 •  Информатика

Изменить данную программу, так, чтобы она удаляла все отрицательные элементы! 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.

Ответ:
7sergeya
7sergeya
03.10.2020 18:29
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.

а вообще правильнее создать еще один массив и переписать туда нужные элементы - куда меньше операций, циклов и затрат памяти. Массив не предназначен для "удаления" элементов в нем
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?