Составьте программу которая заполняет массив

Скачать исходные коды примеров
После объявления массива с ним можно работать. Например, присваивать значения элементам массива и вообще обращаться с ними как с обычными переменными. Для обращения к конкретному элементу необходимо указать идентификатор (имя) массива и индекс элемента в квадратных скобках.

Например, запись Mas[2], A[10] позволяет обратиться ко второму элементу массива MAS и десятому элементу массива A. При работе с двумерным массивом указывается два индекса, с n-мерным массивом — n индексов.

Например, запись Matr[4, 4] делает доступным для обработки значение элемента, находящегося в четвертой строке четвертого столбца массива M.

Индексированные элементы массива называются индексированными переменными. За границы массива выходить нельзя. То есть, если в массиве Mas пять элементов, то обращение к шестому или восьмому элементу приведет к ошибке.

Рассмотрим типичные операции, возникающие при работе с одномерными массивами.

Заполнение одномерного массива значениями

Заполнение и вывод массива можно осуществить только поэлементно, то есть можно сначала присвоить значение первому элементу, затем второму и так далее, то же самое и с выводом на экран — выводим первый, второй, третий и так до последнего.

Способы выводы элементов массива

Паскаль не имеет средств ввода-вывода элементов массива сразу, поэтому ввод и значений производится поэлементно. Значения элементу массива можно присвоить с помощью оператора присваивания, или ввести с клавиатуры с помощью операторов Read или Readln. Очень удобно перебирать все элементы массива в цикле типа for.

Способы заполнения одномерных массивов:

  1. Ввод значения с клавиатуры.
  2. Задание значений в операторе присваивания с помощью генератора случайных чисел. Этот способ более удобен, когда много элементов в массиве (ввод их значений с клавиатуры занимает много времени).
  3. Задание значений по формуле.
  4. Ввод элементов массива из файла
Читайте также:
Открыть программу глаз ТВ

1. Ввод значений элементов массива с клавиатуры. В связи с тем, что использовался оператор Readln, каждое значение будет вводиться с новой строки.

Procedure Init1(Var m : myarray);

Var i : Integer; Begin Writen (‘введите’,n,’чисел’); For i:=1 To n Do Readln(m[i]); End;

2. Заполнение массива числами, сгенерированными случайным образом из интервала [a; b]. Подключаем датчик случайных чисел — функцию random.

Procedure Init2(a,b:integer; Var m : myarray); < Процедура заполнения массива случайными числами из интервала [a,b] и вывода на экран. a, b: границы интервала; m : массив. >Var i : Integer; Begin Randomize; For i:=1 To n Do begin m[i]:= a+random(b-a+1); write(m[i],’ ‘) end; writeln; End;

3. Заполнение массива по формуле. Каждому элементу массива присваивается значение, вычисленное по формуле. Если каждый элемент массива равен утроенному значению его порядкового номера (индекса), то процедура будет иметь вид:

Procedure Init3(Var m : myarray);

Var i : Integer; Begin For i:=1 To n Do
a[i]:= i*3;

4. Чтение чисел из файла. Нужно заранее создать текстовый файл, в который запишите несколько строк, в каждой из которых по 30 чисел.

Что такое массивы в программировании.

Procedure Init4(Var m : myarray);

Var i : Integer; Begin Writen (‘введите’,n,’чисел’); For i:=1 To n Do Readln(f, m[i]); End;

Вывод значений элементов массива на экран

Вывод значений элементов массива на экран выполняется, как и ввод, поэлементно в цикле. Для вывода будем использовать операторы Write или Writeln. В качестве входных параметров будем передавать процедуре не только массив, но и количество элементов, которые надо вывести, начиная с первого (это понадобится нам, когда мы будем удалять и добавлять элементы в массиве).

Procedure Print(n: integer; m : myarray);

Var i : Integer; Begin For i:=1 To n Do Write(m[i]:3); Writeln;

Пример 1. Заполнить массив с клавиатуры и вывести его на экран.

Читайте также:
Как написать программу на стойке heidenhain

В программе будет использоваться две процедуры: процедура Init1 (заполнение массива с клавиатуры) и процедура Print (вывод массива на экран).

Program primer1; Const n = 30;

Type myarray = Array [1. n] Of Integer; Var A : myarray; s : Integer; Procedure Init1(Var m : myarrfy); Var i : Integer; Begin Writen (‘Введите ‘,n,’ чисел’); For i:=1 To n Do Readln(m[i]); End; Procedure Print(m: myarray); Var i : Integer; Begin For i:=1 To n Do Write(m[i]:3); Writeln; End; Begin Init1(A); Print(n, A); Readln; End.

Пример 2. Заполнить массив из текстового файла и вывести на экран. В текстовом файте несколько строк, в каждой строке по 30 чисел.

Program primer2; Const n = 30; Type myarray = Array [1. n] Of Integer; Var A : myarray; F:text; Procedure Init4(Var m : myarray); Var i : Integer;

Begin For i:=1 To n Do Readln(f, m[i]); End;
Procedure Print(m: myarray); Var i : Integer; Begin For i:=1 To n Do Write(m[i]:3); Writeln; End; Begin Assign (F,’. ‘); Reset(F); While Not EOf (F) Do Begin
Init3(A); Print(A) readln(F); End; Readln; End.

Вы научились заполнять одномерный массив и выводить его на экран.

На следующем уроке продолжим знакомиться с алгоритмами обработки одномерных массивов.

Источник: gospodaretsva.com

Составьте программу заполнения массива из 100 чисел случайными значениями из диапазона от –20 до 20

Учебник по Информатике 9 класс Семакин

Составьте программу заполнения массива из 100 чисел случайными значениями из диапазона от –20 до 20. Подсчитайте в этом массиве количество положительных и количество отрицательных значений. program zad_4_nica;
var Rand: array[1..100] of integer;
i, plus, minus: integer;
begin
randomize;

for i:=1 to 100 do begin
Rand[i]:=-20+random(41);
write (Rand[i], ‘; ‘);
end;

plus:=0;
minus:=0;
for i:=1 to 100 do begin
if Rand[i]>0 then plus:=plus+1
else if Rand[i] Напишите нам

Читайте также:
Произвольная программа женщины список

Источник: 5urokov.ru

Заполнение массива случайными числами в диапазоне (A, B) и определить кол-во элементов, у которых вторая цифра четная

Вот задача: Напишите программу, которая заполняет массив из N элементов случайными целыми числами в диапазоне [ A , B ] и определяет количество элементов этого массива, у которых вторая цифра в десятичной записи (число десятков) – чётная. Входные данные: Входная строка содержит три числа: границы диапазона случайных чисел A и B , а также размер массива N . Все числа разделены пробелами. Гарантируется, что 0 < N ≤ 10000 . Выходные данные: В первой строке программа должна вывести N элементов построенного массива, разделив их пробелами, а во второй строке – число элементов этого массива, у которых вторая цифра в десятичной записи (число десятков) – чётная. Вот мой код:

import random mas=[] k = 0 a, b, n = map(int,input().split()) for i in range(n): mas.append(random.randint(a, b)) print(mas[i], end=’ ‘) if(mas[i] >=10): if (((mas[i] // 10) % 10) % 2 == 0): k += 1 print() print(k)

введите сюда описание изображения

Программа работает корректно, но сайт решение не принимает. Что можно изменить, чтобы программа работала быстрее?

Отслеживать
задан 1 дек 2019 в 7:48
201 1 1 золотой знак 2 2 серебряных знака 11 11 бронзовых знаков

Думаю нужна проверка введенного диапазона. Если я введу диапазон 0 1000. Например сгенерирует 4, тогда ((4 // 10) % 10) % 2 == 0 будет True и Ваш код выполнит k += 1

– user361068
1 дек 2019 в 8:20
Точно) Я как-то упустил этот момент)
1 дек 2019 в 8:25

хмм.. добавил проверку: if(mas[i] >=10): if (((mas[i] // 10) % 10) % 2 == 0): k += 1 Но сайт всё равно не принимает решение

1 дек 2019 в 8:32

А какой сайт? Скорее всего имеется ввиду написать функцию которая должна вернуть количество таких елементов в массиве. (но это не точно)

Источник: ru.stackoverflow.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru