Решение № 6 из главы 15.Заполнить массив случайными числами, получить случайное число N от 1 до 9 и затем "удалить
Primary tabs
Заполнить массив из 9 элементов случайными числами, далее получить случайное число N из диапазона от 1 до 9 и затем "удалить" удалить элемент с позиции N из массива, "сдвинув" значения влево и заполнив все что справа нулями.
Например:
|1|3|4|5|4|7|-8|-9|
Путь n=2, тогда после работы программы мы должны получить:
|1|4|5|4|7|-8|-9|0|
program pascal_array15_6;
var i , min , max ,rand_number : integer;
arr : array[1..9] of integer;
begin // начало тела программы
min := 5;
max := 15;
randomize();// вызов стандартной процедуры
for i := low(arr) to high(arr) do // обходим массив с целью иницилизации
begin
arr[i] := min + random( max - min + 1 ); // формула случайных чисел
write( arr[i] , ' ' );
end;
writeln(); // перенос строки для читаемости
for i:= 1 to 1 do // определяем индекс массива для удаления
begin
rand_number := random( 9 ) + 1 ; // определяем индекс от 1 до 9 по формуле
writeln( 'Delete item with index : ' , rand_number ); // вывод индекса элемента
end;
for i := 1 to ( high(arr) - 1 ) do // обходим до предпоследнего элемента
begin
if( i >= rand_number ) then // если индекс равен искомому индексу
arr[i] := arr[ i + 1 ]; // сдвигаем влево путем увеличения индекса на 1
end;
arr[high(arr)] := 0; // поседний элемент массива делаем равным 0
for i := 1 to ( high(arr) ) do // обходим массив и выводим элементы
write( arr[i] , ' ' );
end. // завершение тела программы
- Log in to post comments
- 2957 reads
vedro-compota
Wed, 06/03/2020 - 19:29
Permalink
перенести заполнение и сдвиг
перенести заполнение и сдвиг в отдельные подпрограммы
_____________
матфак вгу и остальная классика =)