Удалить из массива первый отрицательный элемент, если таковой имеется. - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Создать одномерный массив, состоящий из 5-ти элементов, вводимых с клавиатуры. Удалить из массива первый отрицательный элемент, если таковой имеется. Первую часть понял:
А вот как быть с удалением отрицательного элемента? ------------------------------------------------------------------------------------------------------------------------------------- p.s. Не удается выхватить отрицательный элемент.. =(
ход программы: a[1]=3 a[2]=7 a[3]=-5 a[4]=8 a[5]=1 отрицательный 0

Решение задачи: «Удалить из массива первый отрицательный элемент, если таковой имеется.»

textual
Листинг программы
program z1;
uses crt;
const
p=5;
type
tarray=array[1..p] of integer;
var a:tarray;
    n,i,b:integer;
begin
clrscr;
n:=p;
for i:=1 to n do
 begin
  write ('a[',i,']=');
  readln(a[i]);
 end;
 {найдем 1 отрицательный}
i:=1;
b:=0;
while(i<=n)and(b=0) do
if a[i]<0 then b:=i
else i:=i+1;
if b=0 then write('Отрицательных элементов нет')
else  {если нашли}
 begin
  writeln('Первый отрицательный a[',b,']=',a[b]);
  if b=n then n:=n-1 {если последний, отрезаем}
  else {иначе}
   begin
    for i:=b to n-1 do {сдвигаем на него конец массива}
    a[i]:=a[i+1];
    n:=n-1;  {обрезаем}
   end;
  writeln ('массив после удаления') ;
  for i:=1 to n do
  write (a[i]:3, '');
 end;
readln;
end.

Объяснение кода листинга программы

  1. Создается программа z1.
  2. Используются стандартные библиотеки.
  3. Определяется константа p, которая равна 5.
  4. Определяется тип данных tarray, который представляет собой массив целых чисел размером от 1 до p.
  5. Создается переменная a типа tarray.
  6. Создаются переменные n, i и b типа integer.
  7. Выводится сообщение Введите элементы массива:, и с помощью цикла for считываются элементы массива.
  8. Находится первый отрицательный элемент в массиве. Для этого используется цикл while, который выполняется до тех пор, пока значение переменной i меньше значения переменной n и значение переменной b равно 0. Если значение элемента a[i] меньше 0, то значение переменной b устанавливается равным i.
  9. Если переменная b равна 0, выводится сообщение Отрицательных элементов нет.
  10. Если был найден хотя бы один отрицательный элемент, выводится сообщение Первый отрицательный a[, значение переменной b, ]=, значение элемента a[b].
  11. Если последний элемент массива был отрицательным, то его значение устанавливается равным значению элемента a[b-1]. Таким образом, массив обрезается, и его размер уменьшается на 1.
  12. Выводится сообщение массив после удаления.
  13. С помощью цикла for выводится значение каждого элемента массива.
  14. Программа завершается, и пользовательу предлагается ввести еще одну программу.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.692 из 5
Похожие ответы