Задача 9 Урок 15
Primary tabs
Задача 9 Урок 15Заполните массив из 5 элементов случайными числами из любого диапазона.
Далее пользователь вводит в цикле значения от 1 до 5 -- удаляйте из массива очередной элемент с позиции очередного введенного пользователем числа, сдвигая оставшиеся элементы второго массива влево, заполняя то, что справа нулями. Распечатывайте промежуточной состояние массива, после каждого удаления. Цикл должен работать до тех пор, пока в массиве не останется ненулевых элементов или пока пользователь не введет число большее чем 5 или меньшее чем 1.
const
l = 5;
type
arr = array [1..l] of integer;
var
a1: arr;
a2: arr;
N, min, max, i: integer;
flag: boolean;
//процедура сдвига массива
procedure shift(var mas: arr; j: integer);
begin
for j:= low(mas) to high(mas) do
mas[j]:= mas[j + 1];
end;
//функция определения пустой массив или нет
function noZero(var mas: arr; j, a: integer): boolean;
var
count: integer;
begin
for j:= low(mas) to high (mas) do
if mas[j] = 0 then
inc(count);
if count = high(mas) then
result:= false;
end;
begin
min:= -50;
max:= 50;
N:= 1;
flag:= true;
randomize();
//заполнение и вывод оригинального массива массива a1
writeln('Massiv 1');
for i:= low(a1) to high(a1) do
begin
a1[i]:= min + random(max - min + 1);
writeln('Element ', i, '= ', a1[i], ' ');
end;
writeln();
//заполнение массива 2 a2
writeln('Massiv 2');
for i:= low(a2) to high(a2) do
begin
a2[i]:= a1[i];
writeln('Element ', i, '= ', a2[i], ' ');
end;
//обнуление массива а1 и сдвиг массива а2
while (N >= 1) and (N <= 5) do
begin
writeln('Vvedite celoe chislo ot 1 do 5');
readln(N);
a1[N]:= 0;
writeln();
//вывод измененного массива a1
writeln('Massiv 1:');
for i:= low(a1) to high(a1) do
writeln('Element ', i, '= ', a1[i], ' ');
writeln();
shift(a2, i);// процедура сдвига массив
flag:= noZero(a1, i, N);//проверка на нулевой массив
//вывод измененного массива a2
writeln();
writeln('Massiv posle sdviga');
for i:= low(a2) to high(a2) do
writeln('Element ', i, '= ', a2[i], ' ');
if (not flag) then
break;
end;
writeln('Cikl zavershen');
readln();
end.
- Log in to post comments
- 1471 reads
vedro-compota
Sun, 09/05/2021 - 12:59
Permalink
решение засчитано
решение засчитано
_____________
матфак вгу и остальная классика =)