Условие
Дан массив. Требуется удалить из него элемент, стоящий на месте номер B,
сдвинув все последующие элементы влево.
Входные данные
Во входном файле записано сначала число N - количество элементов массива
(2<=N<=100), затем N чисел из диапазона Integer - элементы массива,
а затем число B (1<=B<=N).
Выходные данные
В выходной файл выведите N-1 число - элементы массива с удаленным B-м элементом.
Примечание
Вы должны удалить элемент непосредственно из массива, а не сделать
вид при выводе данных, что у вас такого элемента нет. Также вы не
должны для этого заводить в программе дополнительный массив.
То есть ввод данных осуществляется следующим фрагментом:
read(fi,n);
for i:=1 to n do read(fi,a[i]);
read(fi,b);
А вывод - следующим:
for i:=1 to n-1 do write(fo,a[i],' ');
Необходимые фрагменты вы можете найти в файле P128.PAS
Пример входного файла
5
1 3 5 6 7
2
Пример выходного файла
1 5 6 7
Текст программы P128.PAS
const nmax=100;
var a:array[1..nmax] of integer;
n:integer;
i:integer;
b:integer;
fi,fo:text;
begin
assign(fi,'input.txt');
reset(fi);
assign(fo,'output.txt');
rewrite(fo);
read(fi,n);
for i:=1 to n do read(fi,a[i]);
read(fi,b);
{Вы должны писать здесь}
for i:=1 to n-1 do write(fo,a[i],' ');
close(fi);
close(fo);
end.
Подсказка
Следующие две задачи - вставка элемента в массив и
удаление элемента сначала разбираются на примере самих школьников и
стульев, на которых они сидят. Идея о том, что для того, чтобы элемент в
массив вставить, нужно сначала сдвинуть всех, кто сидел на этом и
последующих местах, достаточно очевидна. Гораздо менее очевидно, почему в
случае добавления сдвиг нужно начинать с конца массива, а в случае
удаления - с начала.
Решение
Скачать архив тестов
Источники и прецеденты использования
|
Курс |
предмет |
информатика |
Название |
Основы программирования на языке Паскаль |
Класс |
8 |
Автор |
Матюхин Виктор Александрович |
Место проведения |
Московская гимназия на Юго-Западе N1543 |
задача |
Номер |
128 |