Задача 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
- 1129 reads
vedro-compota
Sun, 09/05/2021 - 12:59
Permalink
решение засчитано
решение засчитано
_____________
матфак вгу и остальная классика =)