Решение № 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
- 2377 reads
vedro-compota
Wed, 06/03/2020 - 19:29
Permalink
перенести заполнение и сдвиг
перенести заполнение и сдвиг в отдельные подпрограммы
_____________
матфак вгу и остальная классика =)