Решение заданий С2
-
Upload
chadwick-morse -
Category
Documents
-
view
65 -
download
0
description
Transcript of Решение заданий С2
РЕШЕНИЕ ЗАДАНИЙ С2
Одномерные массивы
1, 2 …5 — номер элемента.
1 2 3 4 5
3 7 9 1 2
А — имя массива
Значения
Индексы
А[3]=9
Имя массива
Индекс
Значение
Теория по теме «Одномерные массивы»
ОПИСАНИЕ МАССИВА
<Имя> : array[<первый_элем>..<последн_элем>] of <Тип>;
Например,
var M: array[1..17] of Real;
ЗАПОЛНЕНИЕ МАССИВА
Заполнение массива можно производить: с клавиатуры; через датчик случайных чисел; через оператор присваивания (по формуле)
СПОСОБ 1
Ввод:
For i:=1 to n do readln(a[i]);
Вывод:
For i:=1 to n do writeln(a[i]);
СПОСОБ 2
Через датчик или генератор случайных чисел RANDOM(i).
Randomize;For i:=1 to n do begin а[i]:=random(i);
Если требуется, чтобы значения элементов массива выбирались из определенного интервала [a,b],
тоa+Random(b-a+1);
СПОСОБ 3
По формуле:
For i:=1 to n do а[i]:=i*3;
Формирование нового массива из четных элементов и подсчет их количества.
var i,y:integer;s:array [1..10] of integer;beginfor i:=1 to 10 doread(s[i]);for i:=1 to 10 doif s[i] mod 2=0 then begin writeln (s[i]); y:=y+1; end;writeln;writeln('количество четных чисел = ',y)end.
Сформировать одномерный массив из N элементов, где элементы массива - целые случайные числа в пределах от 1 до 45.
Напечатать элементы массива в прямом и обратном порядке.var i, n:integer; a:array[1..10000] of integer; beginrandomize; write(' размер =' );readln(n); for i:=1 to n do begin {Получаем случайные числа в пределах от 1 до 45.} a[i]:=random(46))+1; {Выводим элементы массива на экран.} write(a[i], ' ' ); end; {Полученный массив печатаем в обратном порядке.} for i:=n downto 1 do write(a[i],' '); readkey; end.
1 способ: program dfgh;
var j,i,b,n:integer; a:array[1..10000] of integer; begin randomize; readln(n); for i:=1 to n do begin a[i]:=random(46)+1; write(a[i],' '); end; for i:=n downto 1 do begin if a[i] mod 2=0 then write(a[i]); end; readln; end.
С2. Составьте программу, которая вводит с клавиатуры 8 целых неотрицательных чисел (каждое число — с новой строки отдельной
командой «ввод»), записывает их в массив, выводит на экран сначала в прямом порядке все без исключения элементы массива, затем, в
обратном порядке относительно следования в массиве, все чётные элементы. Например, для массива «1 2 5 4 5 3 7 8» программа должна выводить числа в таком порядке: 1 2 5 4 5 3 7 8 8 4 2. Каждое число
программа должна выводить в отдельной строке; ничего, кроме чисел, программа выводить не должна
2 способ: var a:array[1..8] of integer; i:integer; begin for i:=1 to 8 do readln(a[i]); for i:=1 to 8 do writeln(a[i]); for i:=8 downto 1 do if a[i]mod 2 =0 then writeln(a[i]); end.
Дан одномерный целочисленный массив. Вычислить среднее арифметическое значение элементов кратных 5.
cоnst n=10;var i,j,s:integer; sr:real; a:array[1..n] of integer;begin Randomize; s:=0; j:=0; for i=1 to n do begin a:= Random(10)+1; writeln(a[i]); if a[i] mod 5 = 0 then begin s:=s+a[i]; j:=j+1; end; end; if j <> 0 then sr:=s/j; writeln(sr:5:1); readln;end.
Дан одномерный целочисленный массив. Вычислить среднее арифметическое значение элементов, стоящих на четных местах и имеющих нечетные значения.
cоnst n=10;
var i,j,s:integer;
sr:real;
a:array[1..n] of integer;
begin
Randomize;
s:=0;
j:=0;
for i=1 to n do
begin
a:= Random(10)+1;
writeln(a[i]);
if i mod 2 = 0 then
if a[i] mod 2 <> 0 then begin
s:=s+a[i];
j:=j+1; end; end;
if j <> 0 then sr:=s/j;
writeln(sr:5:1); readln; end.
ЗАДАЧИ:
1. Одномерный массив из 7 элементов заполнить случайным образом числами от 5 до 9. Заменить все элементы массива равные 7 единицами. Вывести на экран монитора первоначальный и преобразованный массивы в строчку.
2. Одномерный массив из 9 элементов заполнить случайным образом числами от 2 до 7. Заменить все элементы массива меньше 5 нулями. Вывести на экран монитора первоначальный и преобразованный массивы в столбик.
3. Одномерный массив из 10 элементов заполнить случайным образом числами от -5 до 5. Заменить все отрицательные элементы массива 0, а положительные увеличить на 2. Вывести на экран монитора первоначальный и преобразованный массивы в строчку.