Вопрос по информатике:
Изменить данную программу, так, чтобы она удаляла все отрицательные элементы!
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.
Трудности с пониманием предмета? Готовишься к экзаменам, ОГЭ или ЕГЭ?
Воспользуйся формой подбора репетитора и занимайся онлайн. Пробный урок - бесплатно!
- 14.01.2016 19:21
- Информатика
- remove_red_eye 5770
- thumb_up 36
Ответы и объяснения 1
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.
а вообще правильнее создать еще один массив и переписать туда нужные элементы - куда меньше операций, циклов и затрат памяти. Массив не предназначен для "удаления" элементов в нем
- 15.01.2016 20:57
- thumb_up 12
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.