Удалить из массива все элементы, равные значению первого элемента. - Pascal

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

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

1.1. Дан линейный массив целых чисел. Удалить из массива все элементы, равные значению первого элемента массива. Сам первый элемент не удалять. 1.2. Дана матрица размера M на N. В каждом ее столбце найти количество элементов, больших среднего арифметического всех элементов этого столбца.
Кирюша Пархом постарался и сделал сам) 1.2
type 
A1=array [1..100] of real; 
var 
A:array [1..100] of A1; 
i,j,m,n,x:integer; 
sum,sr:real; 
B:A1; 
 
begin 
write('Введите количество строк: '); 
readln(m); 
write('Введите количество столбов: '); 
readln(n); 
for i:=1 to m do 
for j:=1 to n do 
a[i,j]:=random(100); 
writeln; 
writeln('Матрица: '); 
writeln; 
 
for i:=1 to m do begin 
for j:=1 to n do write('|',a[i,j]:3,'|'); 
writeln; 
end; 
 
writeln; 
For j:=1 to n do begin 
sum:=0; x:=0; 
For i:=1 to n do 
sum:=sum+A[i,j]; sr:=sum/n; 
For i:=1 to n do If A[i,j]>sr then x:=x+1; 
writeln('Кол-во элементов в ',j,' столбце: ',x); 
end; 
end.

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

textual
Листинг программы
const n=20;
var a: array [1..n] of integer;
    i,j:byte;
begin
randomize;
writeln('Исходный массив');
for i:=1 to n do
 begin
  a[i]:=1+random(5);
  write(a[i]:3);
 end;
writeln;
j:=1;   //счётчик не равных первому, кроме первого
for i:=2 to n do //проходим по массиву
if a[i]<>a[1] then  //пропускаем не равные первому
 begin
  inc(j);
  if j<i then a[j]:=a[i]; //если равен первому, на их место пишем следующие
 end;
if j=0 then write('Все элементы удалены')
else if j=n then write('В массиве нет элементов, равных первому')
else
 begin
  writeln('Удаление равных первому');
  for i:=1 to j do write(a[i]:3);
 end;
end.

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

  1. Константа n со значением 20 - определяет размер массива.
  2. Массив a типа integer с размером n - используется для хранения элементов.
  3. Переменные i и j типа byte - используются для циклов и подсчета элементов.
  4. Заполнение массива случайными значениями от 1 до 5.
  5. Итерация по массиву и вывод исходного массива.
  6. Инициализация счетчика не равных первому(j) в 1, кроме первого элемента.
  7. Проход по массиву, проверка элементов на равенство первому элементу.
  8. Если элемент не равен первому, то увеличиваем счетчик и, если он не равен текущему индексу, то перемещаем элемент на место, которое указывает счетчик.
  9. В зависимости от значения счетчика j, выводится соответствующее сообщение или удаляются элементы равные первому, и выводится получившийся массив.
  10. Если все элементы удалены, выводится сообщение об этом. В данном коде реализован алгоритм удаления всех элементов, равных значению первого элемента массива a.

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


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

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

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