Решение заданий С2

14
РЕШЕНИЕ ЗАДАНИЙ С2 Одномерные массивы

description

Решение заданий С2. Одномерные массивы. Теория по теме «Одномерные массивы». А — имя массива. Индексы. 1, 2 …5 — номер элемента. Значения. А [3]=9. Значение. Имя массива. Индекс. Описание массива. : array [< первый_элем >..< последн_элем >] of ; Например , - PowerPoint PPT Presentation

Transcript of Решение заданий С2

Page 1: Решение заданий С2

РЕШЕНИЕ ЗАДАНИЙ С2

Одномерные массивы

Page 2: Решение заданий С2

1, 2 …5 — номер элемента.

1 2 3 4 5

3 7 9 1 2

А — имя массива

Значения

Индексы

А[3]=9

Имя массива

Индекс

Значение

Теория по теме «Одномерные массивы»

Page 3: Решение заданий С2

ОПИСАНИЕ МАССИВА

<Имя> : array[<первый_элем>..<последн_элем>] of <Тип>;

Например,

var M: array[1..17] of Real;

Page 4: Решение заданий С2

ЗАПОЛНЕНИЕ МАССИВА

Заполнение массива можно производить: с клавиатуры; через датчик случайных чисел; через оператор присваивания (по формуле)

Page 5: Решение заданий С2

СПОСОБ 1

Ввод:

For i:=1 to n do readln(a[i]);

Вывод:

For i:=1 to n do writeln(a[i]);

Page 6: Решение заданий С2

СПОСОБ 2

Через датчик или генератор случайных чисел RANDOM(i).

Randomize;For i:=1 to n do begin а[i]:=random(i);

Page 7: Решение заданий С2

Если требуется, чтобы значения элементов массива выбирались из определенного интервала [a,b],

тоa+Random(b-a+1);

Page 8: Решение заданий С2

СПОСОБ 3

По формуле:

For i:=1 to n do а[i]:=i*3;

Page 9: Решение заданий С2

Формирование нового массива из четных элементов и подсчет их количества.

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.

Page 10: Решение заданий С2

Сформировать одномерный массив из 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.

Page 11: Решение заданий С2

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.

Page 12: Решение заданий С2

Дан одномерный целочисленный массив. Вычислить среднее арифметическое значение элементов кратных 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.

Page 13: Решение заданий С2

Дан одномерный целочисленный массив. Вычислить среднее арифметическое значение элементов, стоящих на четных местах и имеющих нечетные значения.

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.

Page 14: Решение заданий С2

ЗАДАЧИ:

1. Одномерный массив из 7 элементов заполнить случайным образом числами от 5 до 9. Заменить все элементы массива равные 7 единицами. Вывести на экран монитора первоначальный и преобразованный массивы в строчку.

2. Одномерный массив из 9 элементов заполнить случайным образом числами от 2 до 7. Заменить все элементы массива меньше 5 нулями. Вывести на экран монитора первоначальный и преобразованный массивы в столбик.

3. Одномерный массив из 10 элементов заполнить случайным образом числами от -5 до 5. Заменить все отрицательные элементы массива 0, а положительные увеличить на 2. Вывести на экран монитора первоначальный и преобразованный массивы в строчку.