Составить программу на языке паскаль составить программу сокращения одномерного числового массива путем удаления ( всех элементов с нулевыми значениями . дополнительный массив использовать не разрешается ) можети поясните словами что делает программа
Ответы на вопрос:
var
a : array of integer;
n, i, last : integer;
begin
read (n);
setlength (a, n);
for i : = 0 to n - 1 do
read (a[i]);
last : = 0;
for i : = 0 to n - 1 do
if a[i] < > 0 then
begin
a[last] : = a[i];
inc (last);
end;
setlength (a, last);
for i : = 0 to last - 1 do
write (a[i], ' ');
end.
суть такова. имеем динамический массив. считали массив, так как динамический, то от нуля все. установили последнюю свободную ячейку 0. идем по массиву и ищем ненулевое значение. как только нашли, пишем его в свободную ячейку и увеличиваем занчение свободной ячейки на 1. при этом наши данные не затираются. после окончания всех операций в last лежит длина массива.статитечкий массив.
var
a : array [1..100] of integer;
n, i, last : integer;
begin
read (n);
for i : = 1 to n do
read (a[i]);
last : = 1;
for i : = 1 to n do
if a[i] < > 0 then
begin
a[last] : = a[i];
inc (last);
end;
dec (last);
for i : = 1 to last do
write (a[i], ' ');
end.
Популярно: Информатика
-
JoraUai030.04.2021 23:27
-
pavel26616.05.2023 02:43
-
glebochkabalas06.04.2021 10:14
-
svetlana201771117.02.2021 22:46
-
apple134510.11.2022 12:11
-
Пеперони22813.04.2021 04:20
-
8999470904024.11.2022 17:45
-
davideblan3304.04.2020 21:35
-
1KoTObOpMoT102.01.2023 03:44
-
elenachemiris01.01.2023 00:11