
Приветствуем читателей нашего сайта! Сегодня мы с вами решим задачи Array7-17.
Array7-17. (Одномерные массивы: вывод элементов)
Array7°. Дан массив размера N. Вывести его элементы в обратном порядке.
Не забываем про то, что циклом for можно пробегать числа не только от меньших к большим, но от больших к меньшим.
program array7;
var
arr: array[1..10] of integer;
N, i: integer;
begin
write('Введите N: ');
readln(N);
write('Введите элементы массива: ');
for i := 1 to N do
read(arr[i]);
write('Элементы в обратном порядке: ');
for i := N downto 1 do write(arr[i], ' ')
end.
Array8. Дан целочисленный массив размера N. Вывести все содержащиеся в данном массиве нечетные числа в порядке возрастания их индексов, а также их количество K.
program array8;
var
arr: array[1..10] of integer;
N, i, k: integer;
begin
k := 0; {счётчик}
write('Введите N: ');
readln(N);
write('Введите элементы массива: ');
for i := 1 to N do
read(arr[i]);
write('Нечетные элементы массива: ');
for i := 1 to N do
if arr[i] mod 2 <> 0 then
begin
write(arr[i], ' ');
inc(k);
end;
writeln;
write('Количество нечетных элементов массива: ', k);
end.
Array9. Дан целочисленный массив размера N. Вывести все содержащиеся в данном массиве четные числа в порядке убывания их индексов, а также их количество K.
program array9;
var
arr: array[1..10] of integer;
N, i, k: integer;
begin
k := 0; {счётчик}
write('Введите N: ');
readln(N);
write('Введите элементы массива: ');
for i := 1 to N do
read(arr[i]);
write('Четные элементы массива: ');
for i := N downto 1 do
if arr[i] mod 2 = 0 then
begin
write(arr[i], ' ');
inc(k);
end;
writeln;
write('Количество четных элементов массива: ', k);
end.
Array10. Дан целочисленный массив размера N. Вывести вначале все содержащиеся в данном массиве четные числа в порядке возрастания их индексов, а затем — все нечетные числа в порядке убывания их индексов.
program array10;
var
arr: array[1..10] of integer;
N, i: integer;
begin
write('Введите N: ');
readln(N);
write('Введите элементы массива: ');
for i := 1 to N do
read(arr[i]);
write('Четные элементы массива: ');
for i := 1 to N do
if arr[i] mod 2 = 0 then
write(arr[i], ' ');
writeln;
write('Нечетные элементы массива: ');
for i := N downto 1 do
if arr[i] mod 2 <> 0 then
write(arr[i], ' ');
end.
Array11. Дан массив A размера N и целое число K (1 ≤ K ≤ N). Вывести элементы массива с порядковыми номерами, кратными K: AK, A2·K, A3·K, …. Условный оператор не использовать.
program array11;
var
arr: array[1..10] of integer;
N, K, i: integer;
begin
write('Введите N: ');
readln(N);
write('Введите элементы массива: ');
for i := 1 to N do
read(arr[i]);
write('Введите K: ');
readln(K);
i := 1;
write('Выбранные элементы массива: ');
repeat
write(arr[K * i],' ');
inc(i)
until K * i > N;
end.
Array12. Дан массив A размера N (N — четное число). Вывести его элементы с четными номерами в порядке возрастания номеров: A2, A4, A6, …, AN. Условный оператор не использовать.
program array12;
var
arr: array[1..10] of integer;
N, i: integer;
begin
write('Введите N(чётное): ');
readln(N);
write('Введите элементы массива: ');
for i := 1 to N do
read(arr[i]);
write('Выбранные элементы массива: ');
i := 2;
repeat
write(arr[i],' ');
inc(i, 2)
until i > N;
end.Array13. Дан массив A размера N (N — нечетное число). Вывести его элементы с нечетными номерами в порядке убывания номеров: AN, AN−2, AN−4, …, A1. Условный оператор не использовать.
program array13;
var
arr: array[1..10] of integer;
N, i: integer;
begin
write('Введите N(нечётное): ');
readln(N);
write('Введите элементы массива: ');
for i := 1 to N do
read(arr[i]);
write('Выбранные элементы массива: ');
repeat
write(arr[N],' ');
N := N - 2;
until N < 1;
end.Array14. Дан массив A размера N. Вывести вначале его элементы с четными номерами (в порядке возрастания номеров), а затем — элементы с нечетными номерами (также в порядке возрастания номеров):
A2, A4, A6, …, A1, A3, A5, ….
Условный оператор не использовать.
program array14;
var
arr: array[1..10] of integer;
N, i: integer;
begin
write('Введите N: ');
readln(N);
write('Введите элементы массива: ');
for i := 1 to N do
read(arr[i]);
write('Элементы массива: ');
i := 2;
repeat
write(arr[i],' ');
i := i + 2;
until N < i;
i := 1;
repeat
write(arr[i],' ');
i := i + 2;
until N < i;
end.
Array15. Дан массив A размера N. Вывести вначале его элементы с нечетными номерами в порядке возрастания номеров, а затем — элементы с четными номерами в порядке убывания номеров:
A1, A3, A5, …, A6, A4, A2.
Условный оператор не использовать.
program array15;
var
arr: array[1..10] of integer;
N, i: integer;
begin
write('Введите N: ');
readln(N);
write('Введите элементы массива: ');
for i := 1 to N do
read(arr[i]);
write('Элементы массива: ');
i := 1;
repeat
write(arr[i],' ');
i := i + 2;
until N < i;
N := N div 2; {Количество чётных элементов}
repeat
write(arr[N * 2],' ');
N := N - 1;
until N = 0;
end.
Array16°. Дан массив A размера N. Вывести его элементы в следующем порядке:
A1, AN, A2, AN−1, A3, AN−2, ….
program array16;
var
arr: array[1..10] of integer;
N, i: integer;
begin
write('Введите N: ');
readln(N); {Например, 5}
write('Введите элементы массива: ');
for i := 1 to N do
read(arr[i]); {например, 1 2 3 4 5}
write('Элементы массива: ');
for i := 1 to N div 2 do {5 div 2 = 2}
begin
write(arr[i],' ');
write(arr[N - i + 1],' ')
end;
{программа выведет в 1 цикл - 1 5, а во 2 цикл - 2 4}
{Если N - нечётное, то необходимо вывести оставшийся
элемент (3 в данном случае),
который расположен сразу за средним элементом}
if N mod 2 = 1 then write(arr[N div 2 + 1]);
end.
Array17. Дан массив A размера N. Вывести его элементы в следующем порядке:
A1, A2, AN, AN−1, A3, A4, AN−2, AN−3, ….
program array17;
var
arr: array[1..10] of integer;
N, i: integer;
begin
write('Введите N: ');
readln(N);
write('Введите элементы массива: ');
for i := 1 to N do
read(arr[i]);
write('Элементы массива: ');
for i := 1 to N div 4 do
{N div 4 показывает нам, сколько четверок
содержится в данном массиве}
write(arr[2*i - 1],' ', arr[2*i],' ', arr[N + 2 - 2 * i],' ', arr[N + 1 - 2 * i],' ');
{Рассматриваем три оставшихся случая:}
if N mod 4 > 0 then write(arr[2 * (N div 4) + 1],' ');
if N mod 4 > 1 then write(arr[2 * (N div 4) + 2],' ');
if N mod 4 > 2 then write(arr[N - 2 * (N div 4)])
end.На сегодня всё! Если у вас возникли вопросы, задавайте их в комментариях. И не забывайте рассказывать о нашем сайте своим друзьям!
program_array_17;
uses crt;
const N=10;
var i,l:integer;
A:array [1..N]of integer;
begin
crtwindowsize(100,70);
for i:=1 to N do begin
A[i]:=random(20);
write(‘ A[‘,i,’]=’,A[i]);
end;
writeln;
for i:=1 to (N div 2)-2 do begin
textcolor(red);
write(‘ A[‘,i+(i-1),’]=’,A[i]);
write(‘ A[‘,(i+1)+(i-1),’]=’,A[i]);
write(‘ A[‘,N-i+1-(i-1),’]=’,A[N-i+1-(i-1)]);
write(‘ A[‘,N-i-(i-1),’]=’,A[N-i-(i-1)]);
end;
end.
Моё решение,буду признателен за конструктивную критику,недочёты и ошибки..