ЗАДАЧИ к теме
«Знакомство с массивами. Линейные массивы»
1. Определить, сколько элементов может содержаться в массиве:
а) var a: array [1. .10] of integer ;
б) var a: array [ - 1 . . 1 ] of integer ;
в) var a: array [0. .0] of integer .
2. Дан массив из N элементов. Написать программу, подсчитывающую сумму первого и последнего элементов массива.
Ввод
5
3 7 9 2 7
Вывод
10
Var a : array[1..100] of integer; i, n, p : integer; Begin read(n); for i:=1 to n do read(a[i]); p:=a[1]+a[n]; writeln(p); End.
3. Дан массив из N (> 3) элементов. Написать программу, подсчитывающую среднее арифметическое второго и предпоследнего элементов массива.
Ввод
5
3 7 9 2 7
Вывод
4.5
Var a : array[1..100] of integer; i, n : integer; p : real; Begin read(n); for i:=1 to n do read(a[i]); p:=(a[2]+a[n-1])/2; writeln(p:5:1); End.
4. Дан массив из N элементов. Написать программу, подсчитывающую произведение элементов массива.
Ввод
4
3 7 9 2
Вывод
378
Var a : array[1..100] of integer; i, n, p : integer; Begin read(n); for i:=1 to n do read(a[i]); p:=1; for i:=1 to n do p:=p*a[i]; writeln(p); End.
5. Дан массив из N элементов. Написать программу, уменьшающую все элементы массива на единицу.
Ввод
5
3 7 9 2 7
Вывод
2 6 8 1 6
Var a : array[1..100] of integer; i,n : integer; Begin read(n); for i:=1 to n do read(a[i]); for i:=1 to n do a[i]:=a[i]-1; for i:=1 to n do write(a[i]:4); writeln;
End.
6. Дан массив из N<100 элементов и натуральные числа А<100 и B<100. Найти сумму элементов массива с индексами от A до B.
Ввод
5
3 7 9 2 7
2 4
Вывод
18
Var a : array[1..100] of integer; i, n, n1, n2, s : integer; Begin read(n); for i:=1 to n do read(a[i]); read(n1,n2); s:=0; for i:=n1 to n2 do s:=s+a[i]; writeln(s);
End.
7. Дан массив из N элементов. Написать программу, выводящую на экран сначала вторую половину массива, а затем — первую.
Ввод
6
3 7 9 2 7 5
Вывод
2 7 5 3 7 9
Var a : array[1..100] of integer; i, n : integer; Begin read(n); for i:=1 to n do read(a[i]); for i:=(n div 2)+1 to n do write(a[i]:4); for i:=1 to (n div 2) do write(a[i]:4); End.
8. Дан массив из N элементов. Написать программу, выводящую на экран каждый второй элемент массива.
Ввод
6
3 7 9 2 7 4
Вывод
7 2 4
Var a : array[1..100] of integer; i, n : integer; Begin read(n); for i:=1 to n do read(a[i]); for i:=1 to n do if i mod 2=0 then write(a[i]:4); End.
9. Дан массив из N элементов. Написать программу, выводящую на экран все элементы массива, стоящие на четных местах, а затем — все элементы массива, стоящие на нечетных местах.
Ввод
6
3 7 9 2 7 4
Вывод
7 2 4 3 9 7
Var a : array[1..100] of integer; i, n : integer; Begin read(n); for i:=1 to n do read(a[i]); for i:=1 to n do if i mod 2=0 then write(a[i]:4); for i:=1 to n do if i mod 2=1 then write(a[i]:4); End.
10. Дан массив из N чисел. N — четное. Написать программу, меняющую местами элементы с четными и нечетными номерами.
Ввод
6
3 7 9 2 7 4
Вывод
7 3 2 9 4 7
Var a : array[1..100] of integer; i, n, c : integer; Begin read(n); for i:=1 to n do read(a[i]); for i:=1 to n do if i mod 2=0 then begin c:=a[i]; a[i]:=a[i-1]; a[i-1]:=c; end; for i:=1 to n do write(a[i]:4); End.
11. Дан массив из N чисел. Написать программу, циклически сдвигающую все элементы массива на одну позицию вправо.
Ввод
6
3 7 9 2 7 4
Вывод
0 3 7 9 2 7 4
Var a : array[1..100] of integer; i, n : integer; Begin read(n); for i:=1 to n do read(a[i]); n:=n+1; for i:=n downto 2 do a[i]:=a[i-1]; a[1]:=0; for i:=1 to n do write(a[i]:4); End.
|