Р ЕШЕНИЕ ЗАДАНИЙ С2 Одномерные массивы
1, 2 …5 номер элемента А имя массива Значения Индексы А[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; 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. Напечатать элементы массива в прямом и обратном порядке. var i, n:integer; a:array[ ] 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.
1 способ: program dfgh; var j,i,b,n:integer; a:array[ ] 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 целых неотрицательных чисел (каждое число с новой строки отдельной командой «ввод»), записывает их в массив, выводит на экран сначала в прямом порядке все без исключения элементы массива, затем, в обратном порядке относительно следования в массиве, все чётные элементы. Например, для массива « » программа должна выводить числа в таком порядке: Каждое число программа должна выводить в отдельной строке; ничего, кроме чисел, программа выводить не должна 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. Вывести на экран монитора первоначальный и преобразованный массивы в строчку.