Удалить из массива все элементы, равные значению первого элемента. - 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.
Объяснение кода листинга программы
- Константа
n
со значением 20 - определяет размер массива. - Массив
a
типа integer с размером n - используется для хранения элементов. - Переменные
i
иj
типа byte - используются для циклов и подсчета элементов. - Заполнение массива случайными значениями от 1 до 5.
- Итерация по массиву и вывод исходного массива.
- Инициализация счетчика не равных первому(j) в 1, кроме первого элемента.
- Проход по массиву, проверка элементов на равенство первому элементу.
- Если элемент не равен первому, то увеличиваем счетчик и, если он не равен текущему индексу, то перемещаем элемент на место, которое указывает счетчик.
- В зависимости от значения счетчика j, выводится соответствующее сообщение или удаляются элементы равные первому, и выводится получившийся массив.
- Если все элементы удалены, выводится сообщение об этом. В данном коде реализован алгоритм удаления всех элементов, равных значению первого элемента массива a.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д