Допустим, имеется одномерный массив, содержащий числа от 0 до 49 включительно. Требуется исключить из него все элементы, значения которых меньше 15.
Присваивание значение n переменной m требуется, т.к. n - константа и не может быть изменена. Поскольку при "просмотре" массива в цикле while некоторые элементы будут удаляться, то значение m, обозначающее длину массива, будет уменьшаться.
Если очередной элемент не удаляется, то переходим к просмотру следующего элемента (i := i + 1) и не уменьшаем массив (m не меняется).
const n = 20; var arr: array[1..n] of integer; i, j, m: integer; begin randomize; for i := 1 to n do begin arr[i] := random(50); write(arr[i]:4); end; m := n; i := 1; while i = m do if arr[i] then begin for j := i to m - 1 do arr[j] := arr[j+1]; m := m - 1 end else i := i + 1; for i:= 1 to m do write(arr[i]:4); readln end.
Комментарии
а
Помогите плииз, нужно написать рабочую часть программы ( с begin до end) в которой при встрече в массиве одинаковых чисел он удаляет 1 из них, в итоге из всех чисел не должно остаться одинаковых
Одномерный массив
Помогите пожалуйста решить задачу(
Из массива удалить элементы,стоящие после максимального и имеющие значение меньше среднего арифметического всех элементов массива.
Пример: из массива А(5):8 6 9 4 5 должен получиться массив А(3): 8 6 9 (среднее арифметическое четных элементов = (8+6+9+4+5)/5=6.4)
у меня он выводит числа
у меня он выводит числа 5,1,11,13...то есть меньше 15 все равно выводятся
С удалением чисел из
С удалением чисел из массива