Приветствуем читателей нашего сайта! Сегодня мы с вами решим задачи 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.
Моё решение,буду признателен за конструктивную критику,недочёты и ошибки..