150 likes | 357 Views
Решение заданий С2. Одномерные массивы. Теория по теме «Одномерные массивы». А — имя массива. Индексы. 1, 2 …5 — номер элемента. Значения. А [3]=9. Значение. Имя массива. Индекс. Описание массива. <Имя> : array [< первый_элем >..< последн_элем >] of <Тип> ; Например ,
E N D
Решение заданий С2 Одномерные массивы
Теория по теме «Одномерные массивы» А — имя массива Индексы 1, 2 …5 — номер элемента. Значения А[3]=9 Значение Имя массива Индекс
Описание массива <Имя> : array[<первый_элем>..<последн_элем>] of <Тип>; Например, varM: 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;
Формирование нового массива из четных элементов и подсчет их количества. vari,y:integer; s:array [1..10] of integer; begin for i:=1 to 10 do read(s[i]); for i:=1 to 10 do if s[i] mod 2=0 then begin writeln (s[i]); y:=y+1; end; writeln; writeln('количество четных чисел = ',y) end.
Сформировать одномерный массив из N элементов, где элементы массива - целые случайные числа в пределах от 1 до 45. Напечатать элементы массива в прямом и обратном порядке. vari, n:integer; a:array[1..10000] of integer; begin randomize; 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.
С2. Составьте программу, которая вводит с клавиатуры 8 целых неотрицательных чисел (каждое число — с новой строки отдельной командой «ввод»), записывает их в массив, выводит на экран сначала в прямом порядке все без исключения элементы массива, затем, в обратном порядке относительно следования в массиве, все чётные элементы. Например, для массива «1 2 5 4 5 3 7 8» программа должна выводить числа в таком порядке: 1 2 5 4 5 3 7 8 8 4 2. Каждое число программа должна выводить в отдельной строке; ничего, кроме чисел, программа выводить не должна 1 способ: program dfgh; varj,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 способ: vara: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; vari,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; vari,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.
Задачи: • Одномерный массив из 7 элементов заполнить случайным образом числами от 5 до 9. Заменить все элементы массива равные 7 единицами. Вывести на экран монитора первоначальный и преобразованный массивы в строчку. • Одномерный массив из 9 элементов заполнить случайным образом числами от 2 до 7. Заменить все элементы массива меньше 5 нулями. Вывести на экран монитора первоначальный и преобразованный массивы в столбик. • Одномерный массив из 10 элементов заполнить случайным образом числами от -5 до 5. Заменить все отрицательные элементы массива 0, а положительные увеличить на 2. Вывести на экран монитора первоначальный и преобразованный массивы в строчку.