Array104. Дан массив размера $$N$$ и два целых числа $$K$$ и $$M$$ ($$1 \leq K \leq N, 1 \leq M \leq 10$$). Перед элементом массива с номером $$K$$ вставить $$M$$ новых элементов с нулевыми значениями.
Решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
program Array104; var a : array[1..10] of Integer; N,K,M,i,Amax,Amin:Integer; begin Write('N: '); Readln(N); Write('K: '); Readln(K); Write('M: '); Readln(M); Writeln('A: '); for i:=1 to N do begin write(i,' :'); readln(a[i]); end; N:=N+M; for i:=N downto K+M do a[i]:=a[i-M]; for i:=K to K+M-1 do a[i]:=0; Writeln(N); for i:=1 to N do writeln(i,' :',a[i]); end. |
Задачи из раздела Array можно посмотреть здесь.
Инициализация N:=10 и M:=10 дадут ошибку выхода индекса за границы массива. В описание массива нужно добавить еще 10 элементов: a : array[1..20] of Integer;