Урок 15 Задача 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|Примечание: операции сдвига элементов массива оформите в виде подпрограммы.
var m: array[1..9] of integer; i, x : integer; q: boolean; function sdvig (a, b: integer): integer; // ф-ция, принимает текущий и след-щий эл-нт, возвращает новое значение текущего эл-та begin a:=b; // текущему элем-ту присвоится значение след-го элем-та, последнему присвоится 0 result:= a; // результат ф-ции - новое значение текущего элемента end; begin randomize(); for i:=low(m) to high(m) do // обходим массив для получения случайных значений begin m[i] := random(9) + 1; write(m[i], ' '); // выводим элем-ты в первоначальном виде end; writeln(); x := random(9) + 1; // получаем случайное значение переменной writeln(x); // выводим случайную переменную на экран for i:=low(m) to high(m) do // обходим массив для сдвига и вывода на экран begin if (i = x) then q:= true; // когда счетчик сравнялся с переменной if q = true then // переключаем переключатель m[i]:= sdvig (m[i], m[i+1]); // передаем в ф-ю значения текущего и след-го эл-та, получаем новое значение текущего эл-та write (m[i], ' '); // выводим смещенные элементы end; readln (); end.
- Log in to post comments
- 858 reads
vedro-compota
Sun, 11/27/2022 - 13:11
Permalink
function sdvig
function sdvig
-- на вход получаем массив и позицию сдвига и возвращаем массив итоговом виде
_____________
матфак вгу и остальная классика =)
Patrick
Mon, 11/28/2022 - 14:12
Permalink
Исправил
Вывод в консоли:
vedro-compota
Sun, 12/04/2022 - 13:55
Permalink
function sdvig (ms: massiv; a
-- в цикле есть лишние итерации, можно сразу начинать перебор с известной позиции (+ возможно это сократит число переменных)
_____________
матфак вгу и остальная классика =)