Что такое массив что такое одномерный массив

Работа с массивами данных.
Одномерные и двумерные массивы

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

Количество индексов элементов массива определяет размерность массива.

В данном примере будет объявлен одномерный массив А, состоящий из 10 элементов.

В данном примере будет объявлен двумерный массив М, который можно представить в виде таблицы, состоящей из 4-х строк по 5 ячеек в каждой строке.

Содержимое элементов массива при объявлении равно нулю.

Работа с массивами

После объявления массива каждый его элемент можно обработать, указав идентификатор (имя) массива и индекс элемента в квадратных скобках. Например, запись M[2] позволяет обратиться ко второму элементу массива M.

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

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

Присваивание значений элементам массива

Третьему элементу массива А будет присвоено значение 15.

Элементу массива М, находящемуся во второй строке четвертого столбца, будет присвоено значение 25.

Ввести значение в элемент массива можно также при помощи команды СПРОСИ.

Загрузка данных в массив

Загрузить данные в массив можно при помощи команды ЗАГРУЗИ.

Примеры для одномерного массива А.

загрузи в A
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
конец загрузки

загрузи в A
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
конец загрузки

Если данных будет недостаточно, то часть элементов останется незаполненной. Если избыточно, то они отсекутся.

Пример для двумерного массива М.

загрузи в M
15 17 25 36 24 56 78 56 36 24
56 78 56 36 24 15 17 25 36 25
15 17 25 36 24 56 78 56 36 24
78 56 36 24 15 17 17 25 36 25
36 24 56 78 24 56 78 56 36 24
39 78 56 36 24 25 15 15 89 71
15 17 25 36 24 56 78 56 36 24
78 56 36 24 15 17 17 25 36 25
36 24 56 78 24 56 78 56 36 24
39 78 56 36 24 25 15 15 89 71
конец загрузки

Заполнение массива с помощью циклов

Заполнение одномерного массив.

повторить для x от 1 до 10 <
M[x] = 555
>

Заполнение двумерного массив с помощью вложенных циклов.

повторить для x от 1 до 5 <
повторить для y от 1 до 7 <
M[x,y] = 555
>
>

Заполнение массива случайными числами

Заполнить массив случайными числами можно при помощи цикла.

Пример заполнения элементов массива А псевдослучайными целыми числами в диапазоне от 10 до 99:

массив А[100]
переменная х

повторить для х от 1 до 100 <
А[х] = Int(случайное * 89) + 10
>

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

На экран будет выведено значение третьего элемента одномерного массива А.

Будут выведены значения всех элементов массива А.

Вывод массива в графическом виде

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

Замена и копирование значений в массивах

Команда для замены во всем массиве одного значения на другое.

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

Источник

Массивы

Сайт:Электронные курсы ТПУ
Курс:Информационные технологии 1
Книга:Массивы
Напечатано::Гость
Дата:Вторник, 14 Декабрь 2021, 21:18

Оглавление

Массивы

Все простые типы данных, рассматриваемые ранее, имеют два характерных свойства: неделимость и упорядоченность их значений. Составные, или структурированные типы данных задают множество сложных значений с одним общим именем. Существует несколько методов структурирования, каждый из которых отличается способом обращения к отдельным компонентам. В данном учебном пособии будут рассмотрены только два структурированных типа данных: регулярный тип (массивы) и строковый тип.

С понятием «массив» приходится встречаться при решении научно-технических, экономических задач обработки большого количества однотипных значений.

Таким образом, массив – это упорядоченная последовательность данных, состоящая из фиксированного числа элементов, имеющих один и тот же тип, и обозначаемая одним именем.

Название регулярный тип массивы получили за то, что в них объединены однородные элементы, упорядоченные (урегулированные) по индексам, определяющим положение каждого элемента в массиве.

Массиву присваивается имя, посредством которого можно ссылаться на него как на единое целое. Элементы, образующие массив, упорядочены так, что каждому элементу соответствует совокупность номеров (индексов), определяющих его место в общей последовательности. Индексы представляют собой выражения простого типа. Доступ к каждому отдельному элементу осуществляется обращением к имени массива с указанием индекса нужного элемента:

Чтобы использовать массивы в программах, нужно их описать в разделе описаний. Тип массива не является стандартным, поэтому его необходимо описать в части описания типов. Описание типа массива определяет его имя, размер массива и тип данных:

type =array[ ] of ;

Далее, в перечне переменных указывается имя массива и через двоеточие указывается имя нового типа данных:

Массив может быть описан и без представления типа в разделе описания типов данных:

var :array[ ] of ;

Этот вариант описания короче, но в некоторых случаях, когда описание переменных типа массив встречается несколько раз в различных частях программы, необходимо описание этого типа отдельно, как приведено в первом варианте.

Чаще всего в качестве типа индекса используется интервальный целый тип.

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

Линейный (одномерный) массив – массив, у которого в описании задан только один индекс; если два индекса, то это двумерный массив и т. д. Одномерные массивы часто называют векторами, т. е. они представляют собой конечную последовательность пронумерованных элементов. Пример описания одномерного массива:

type vec=array[1..5] of real;

var x:vec;

var x: array[1..5] of real;

Оба из вариантов описывают одномерный массив x, состоящий из 5 вещественных элементов.

Присваивание начальных значений (заполнение массива) заключается в присваивании каждому элементу массива некоторого значения заданного типа. Наиболее эффективно эта операция осуществляется при помощи оператора for. Ввод данных может осуществляться: с клавиатуры, из файла данных, при помощи различных формул, в том числе и датчика случайных чисел.

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

Алгоритм решения задач с использованием массивов:

1.1. Заполнение массива

Рассмотрим типичные варианты заполнения массива х, описанного выше.

Заполнение всех элементов массива числом 1 :

for i:=1 to 5 do x[i]:=1;

Заполнение всех элементов массива случайными числами из диапазона 0–9 :

for i:=1 to 5 do x[i]:=random(9);

Заполнение всех элементов массива при помощи ввода с клавиатуры:

for i:=1 to 5 do

begin

readln(x[i]);

1.2. Вывод массива на экран

Вывод массива на экран в одну строку без пояснений:

for i:=1 to 5 do writeln(x[i]:6:1);

Вывод массива на экран в столбец с пояснениями. Этот вариант гораздо нагляднее. Старайтесь использовать его:

for i:=1 to 5 do writeln(‘x[’,i,‘]=’,x[i]:6:1);

1.3. Работа с массивами

Пример 6.1. Определить самую высокую температуру и самый теплый день в мае.

program massiv;

uses crt;

var t:array[1..31] of integer;

i,max,n:integer;

begin

Clrscr;

for i:=1 to 31 do

begin

t[i]:=random(20);

write(t[i],‘ ’);

writeln;

max:=t[1]; n:=1;

for i:=2 to 31 do

begin

if t[i]>max then

begin max:=t[i]; n:=i; end;

writeln(‘t-макс.= ’,max,‘ в ’,n, ‘день’);

2. Двумерные массивы

Двумерный массив – структура данных, хранящая прямоугольную матрицу. В матрице каждый элемент определяется номером строки и номером столбца, на пересечении которых он расположен. В Паскале двумерный массив представляется массивом, элементами которого являются одномерные массивы. Два следующих описания двумерных массивов тождественны:

var a:array [1..5] of array [1..6] of real;

var a:array [1..5,1..6] of real;

Чаще всего при описании двумерного массива используют второй способ. Так же как и для одномерных массивов, для двумерных можно использовать отдельно описание нового типа массива, а затем описывать переменную, используя этот тип:

type matr=array [1..5,1..6] of integer;

var a:matr;

Доступ к каждому отдельному элементу осуществляется обращением к имени массива с указанием индексов (первый индекс – номер строки, второй индекс – номер столбца). Все действия над элементами двумерного массива идентичны действиям над элементами линейного массива. Только для инициализации двумерного массива используется конструкция, когда один цикл for вложен в другой. Например:

for i:=1 to 5 do

for j:=1 to 6 do

a[i,j]:=0;

При организации вложенных (сложных) циклов необходимо учитывать:

2.1. Заполнение матрицы

Рассмотрим типичные варианты заполнения матрицы a, описанной выше.

Заполнение всех элементов матрицы случайными числами из диапазона 1 – 9 :

for i:=1 to 5 do

for j:=1 to 6 do

a[i,j]:=random(9);

Заполнение всех элементов матрицы при помощи ввода с клавиатуры:

for i:=1 to 5 do

for j:=1 to 6 do

begin

readln(a[i,j]);

2.2. Вывод матрицы на экран

Вывести на экран матрицу 5 ´ 6 можно следующим образом:

for i:=1 to 5 do

begin

for j:=1 to 6 do

2.3. Работа с матрицами

Работа с матрицами осуществляется также поэлементно.

Пример 6.2. Сформировать таблицу Пифагора (таблица умножения) и вывести ее на экран.

program pifagor;

uses crt;

var p:array [1..9,1..9] of integer;

i,j:integer;

begin

Clrscr;

for i:=1 to 9 do

for j:=1 to 9 do

p[i,j]:=i*j;

for i:=1 to 9 do

begin

for j:=1 to 9 do

write(p[i,j]:4);

writeln;

program massiv;

uses crt;

var b:array[1..10,1..10] of integer;

i,j,s:integer;

begin

Clrscr;

for i:=1 to 10 do

begin

for j:= 1 to 10 do

begin

b[i,j]:=random(20)-10;

write(b[i,j]:4);

writeln;

for i:=1 to 10 do

s:=s*b[i,11-i];

writeln(‘Произведение = ’,s);

Пример 6.4. Ввести с клавиатуры матрицу В(5, 5) и поменять местами первый и последний столбец.

program mest;

var b:array[1..5,1..5] of integer;

i,j,s:integer;

begin

for i:=1 to 5 do

for j:=1 to 5 do

begin

readln(b[i,j]);

for i:=1 to 5 do

begin

for j:=1 to 5 do

write(b[i,j]:4);

writeln;

for i:=1 to 5 do

begin

s:=b[i,1]; b[i,1]:=b[i,5]; b[i,5]:=s;

writeln;

writeln(‘Изменённая матрица’);

Источник

Урок 14. Одномерные массивы. Работа с элементами

Что такое массив что такое одномерный массив. Смотреть фото Что такое массив что такое одномерный массив. Смотреть картинку Что такое массив что такое одномерный массив. Картинка про Что такое массив что такое одномерный массив. Фото Что такое массив что такое одномерный массив

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

Одномерный массив — это фиксированное количество элементов одного и того же типа, объединенных одним именем, где каждый элемент имеет свой номер. Обращение к элементам массива осуществляется с помощью указания имени массива и номеров элементов.

Между именем типа и именем переменной ставится знак «двоеточие». Array — служебное слово (в переводе с английского означает «массив», «набор»); [1..N] — в квадратных скобках указывается номер первого элемента, затем, после двух точек, номер последнего элемента массива; of — служебное слово (в переводе с английского «из»); integer — тип элементов массива.

Индексом могут быть не только натуральные числа: мы можем написать так: [0..10], [-29..45], [‘a’..’z’], [false..true] — то есть нам подходят любые символы и числа — главное соблюсти следующее условие: левая часть меньше правой. Для того чтобы определить, что меньше — восклицательный знак(‘!’) или точка(‘.’) используем таблицу ASCII и функции Ord() и Chr().

Как же производится ввод одномерного массива?

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

Как видите, ничего страшного в массивах нет. Массивы применяют в тех случаях, когда нельзя обойтись одной-двумя переменными (примеры таких задач мы рассматривали в решении задач из блока Series). В случаях, когда после ввода последовательности целиком пользователю необходимо обратиться к переменным в середине последовательности, в начале, поменять их значения местами, отсортировать.

Раз уж мы затронули тему задач из блока Series, давайте решим пару задачек оттуда с помощью массивов, а не тем увечным способом, которым нам приходилось пользоваться.

Одномерные массивы. Решение задач.

Series8. Дано целое число N и набор из N целых чисел. Вывести в том же порядке все четные числа из данного набора и количество K таких чисел.

Series28. Дано целое число N и набор из N вещественных чисел: A1, A2, …, AN. Вывести следующие числа:

Исходное решение: Series28.

Более подробно про возведение числа в степень мы говорили в решении задачи for36.

Ну и напоследок давайте разберём веселенькую задачу на длинную арифметику.

Задача. Найти факториал числа.

Мы уже решали эту задачу здесь(for19).

Научимся вычислять факториал натурального числа N. Факториал числа — это произведение чисел 1*2*3*…*(N-1 )*N (обозначается как N!). Сложность задачи в том, что уже 8!=40320, а 13!=6227020800. Типы данных Integer, Longlnt применимы весьма в ограниченном диапазоне натуральных чисел. Для представления факториала договоримся использовать массив. Пример:

A[0]A[1]A[2]A[3]A[4]A[5]A[6]A[7]A[8]
800861993

В массиве записано значение 11!=39916800. Каким образом? В А[0] фиксируется число занятых элементов массива, в А[1] — цифра единиц результата, в А[2] — цифра десятков результата, в А[3] — цифра сотен результата и т. д. Почему так, а не наоборот? Такая запись позволяет исключить сдвиг элементов массива при переносе значений в старший разряд. А сейчас наберите, как обычно, текст программы, выполните компиляцию и, выполните ее в пошаговом режиме, отслеживая изменение значений переменных при не очень большом значении N. Добейтесь полного понимания логики работы программы.

Для того чтобы выполнить программу в пошаговом режиме, нажмите «шаг без входа в подпрограмму» и перейдите в «локальные переменные».

Что такое массив что такое одномерный массив. Смотреть фото Что такое массив что такое одномерный массив. Смотреть картинку Что такое массив что такое одномерный массив. Картинка про Что такое массив что такое одномерный массив. Фото Что такое массив что такое одномерный массив

Одномерный массив — это конечное упорядоченное множество элементов. За первым элементом идет второй, за вторым — третий и т. д. Индекс может быть чем угодно — и целым числом, и символом. Но чаще мы всё-таки будем пользоваться следующим диапазоном: [1.. N].

На сегодня все! Если у вас еще остались вопросы о том, как работает программа выше, оставляйте их в комментариях. И очень скоро мы начнем решать задачи на массивы из задачника М. Э. Абрамяна.

Источник

Презентация к уроку

Понятие «массив» носит фундаментальный характер. Самым удобным способом хранения большого количества однотипных данных является массив. Обработка массивов является основой практически любой программы.

Школьник, который умеет обрабатывать массивы, может считать себя начинающим программистом.

Созданная обучающая программа может использоваться при изучении темы «Одномерные массивы в языке программирования Паскаль» в среднем и старшем звене общеобразовательной школы.

В презентации имеется главное меню, то есть Содержание (Презентеция), с которого с помощью гиперссылок мы можем перейти на любой пункт меню (слайд 2).

Презентация позволяет каждому учащемуся получить теоретические знания, разобрать примеры решения задач, получить задания для самостоятельной работы, дает возможность проверить полученные знания.

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

1.1. Понятие «массив»

С понятием «массив» приходится сталкиваться при решении научно-технических и экономических задач обработки совокупностей большого количества значений. В общем случае массив – это структурированный тип данных, состоящий из фиксированного числа элементов, имеющих один и тот же тип.

Название регулярный тип (или ряды) массивы получили за то, что в них объединены однотипные (логически однородные) элементы, упорядоченные (урегулированные) по индексам, определяющим положение каждого элемента в массиве. (Приложение 1 [13, с.181])

Массив – это составной объект, образованный из элементов (компонент) одного и того же типа. Такой тип данных применяется в программировании для обозначения объектов, аналогичных числовым последовательностям в математике, где сразу целая группа чисел обозначается одним именем (чаще всего буквой), а для обращения к каждому отдельному числу данной последовательности используются различные индексы (номера элементов). В математике это может выглядеть, например, так:

Таким образом, в программировании массив – это последовательность однотипных элементов, имеющих общее имя, причем каждый элемент этой последовательности определяется порядковым номером (индексом) элемента.

Массивы бывают одномерными (один индекс), двумерными (два индекса) и т.д.

1.2. Описание одномерных массивов

Одномерный массив – это фиксированное количество элементов одного типа, объединенных одним именем, причем каждый элемент имеет свой уникальный номер, и номера элементов идут подряд. (Приложение 1 [12, с.100])

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

Тип массив описывается следующим образом:

Имя типа = Array [тип индекса (ов)] Of тип элементов;

Переменную типа массив можно описать сразу в разделе описания переменных Var:

Var Имя переменной: array [тип индекса (ов)] Of тип элементов;

mas = array [1..20] of real;

Массив Х – одномерный, состоящий из двадцати элементов вещественного типа. Элементы массива хранятся в памяти компьютера последовательно друг за другом.

При использовании переменных для обозначения индекса их значения к моменту использования должны быть определены, а в случае арифметических выражений их результат не должен выходить за границы минимального и максимального значения индексов массива.

Индексы элементов массива могут начинаться с любого целого числа, в том числе и отрицательного, например:

Type bb = Array [-5..3] Of Boolean;

1.3. Ввод и вывод одномерных массивов в Паскале

Ввод и вывод массивов осуществляется поэлементно.

Введем одномерный массив Х, состоящий из 30 элементов, то есть необходимо ввести некую последовательность элементов Х1, Х2, …, Х30.

Пусть i индекс (порядковый номер) элемента в массиве Х. Тогда

Для ввода массива можно использовать любой цикл.

Первый вариант: ввод массива с использованием цикла с предусловием (Рисунок 1).

Что такое массив что такое одномерный массив. Смотреть фото Что такое массив что такое одномерный массив. Смотреть картинку Что такое массив что такое одномерный массив. Картинка про Что такое массив что такое одномерный массив. Фото Что такое массив что такое одномерный массив

Var i: integer;

X: array [1..30] of Integer;

Begin

While i 30;

Массив X введен с использованием цикла с постусловием.

Третий вариант: ввод массива с использованием цикла с параметром (Рисунок 3).

Что такое массив что такое одномерный массив. Смотреть фото Что такое массив что такое одномерный массив. Смотреть картинку Что такое массив что такое одномерный массив. Картинка про Что такое массив что такое одномерный массив. Фото Что такое массив что такое одномерный массив

Var i: integer;

X: array [1..30] of Integer;

Begin

For i := 1 To 30 Do Read (X[i]);

Массив вводится с помощью цикла с параметром, где в качестве параметра используется индекс элемента массива (i).

Вывод одномерного массива осуществляется аналогично.

В программе вместо операторов Read или Readln используются операторы Write или Writeln. Но просто заменить одни операторы на другие здесь недостаточно. Для того чтобы выводимые значения не сливались между собой, надо явным образом вставлять между ними разделитель – пробел или перевод строки. Приведем два возможных способа вывода массива:

На первый взгляд второй способ может показаться более простым и удобным, но это далеко не всегда так. Результат работы такой программы зачастую неудобно, а то и просто невозможно анализировать. Ведь каждый элемент массива будет располагаться в отдельной строке, следовательно, мы не сможем увидеть более 25 элементов одновременно. Кроме того, очень часто массив требуется распечатать дважды, чтобы сравнить состояние массива до обработки и результат его обработки. В этом случае сравнение состояний массива гораздо удобнее проводить, если они распечатаны в двух соседних строках, а элементы выровнены по столбцам, то есть к варианту 1 должна быть добавлена еще и форматная печать (указано количество позиций, которое должно отводиться на печать одного элемента).

Например, выведем одномерный массив Х1, Х2, …, Хn, состоящий из элементов вещественного типа, используя цикл с параметром (Рисунок 4):

Что такое массив что такое одномерный массив. Смотреть фото Что такое массив что такое одномерный массив. Смотреть картинку Что такое массив что такое одномерный массив. Картинка про Что такое массив что такое одномерный массив. Фото Что такое массив что такое одномерный массив

Const n = 30;

Var i: Integer;

X: Array [1..n] Of Real;

Begin

For i:= 1 To n Do Write (X[i] : 6 : 2, ‘ ‘);

2. Примеры решения задач

2.1. Вычисление суммы и произведения элементов массива, удовлетворяющих заданному условию.

Задача 1. Дан целочисленный одномерный массив, состоящий из n элементов. Найти сумму и произведение нечетных элементов, кратных 3. (Презентация)

Введем обозначения: n – количество элементов в массиве; А – имя массива; i – индекс элемента массива; Ai – i-й элемент массива A; s – сумма нечетных элементов массива, кратных 3; p – произведение нечетных элементов массива, кратных 3.

Входные данные: n, A.

Выходные данные: s, p.

При просмотре массива можно сразу вычислить и произведение элементов массива, удовлетворяющих заданному условию. Произведение вычисляется с помощью оператора p:=p*A[i]. При этом p справа и p слева имеют разные значения: p справа – уже известное, вычисленное ранее значение произведения, p слева – новое, вычисляемое его значение. Первоначально искомое произведение равно единице, т.е. p:=1.

При решении этой задачи можно использовать любой из видов циклов. Рассмотрим несколько вариантов решения задачи.

Первый способ. Для решения используется цикл с параметром:

Var A: Array[1..20] Of Integer;

Begin

For i:=1 To n Do Readln (A[i]);

For i:=1 To n Do

If (A[i] mod 2 <>0) and (A[i] mod 3 = 0) Then

Begin

End.

Второй способ. Для решения используется цикл с предусловием:

Var A: Array[1..20] Of Integer;

Begin

Write (‘n=’); Readln (n); i:=1;

While i 0) and (A[i] mod 3 = 0) Then

Begin

End; i:= i + 1

2.2. Нахождение количества элементов, удовлетворяющих заданному условию

Задача 2. Дан массив целых чисел. Найти количество тех элементов, значения которых положительны и не превосходят заданного натурального числа А. (Презентация)

Введем обозначения: n – количество элементов в массиве; X – имя массива; i – индекс элемента массива; Xii-й элемент массива X; А – заданное число; k – количество элементов, значения которых положительны и не превосходят заданного числа А.

Входные данные: n, X, A.

Выходные данные: k.

Вводим с клавиатуры значение числа А. Количество элементов, значения которых положительны и не превосходят заданного числа А, вначале полагаем равным нулю, то есть k:=0. Если очередной элемент массива положителен и не превосходят заданного числа A, то количество таких элементов нужно увеличить на единицу, то есть k:=k + 1. Таким образом, обрабатываются все элементы массива.

При решении этой задачи можно использовать любой из видов циклов. Рассмотрим несколько вариантов решения задачи.

Первый способ. Для решения используется цикл с параметром:

Var X: Array[1..20] Of Integer;

Begin

For i:=1 To n Do Readln (X[i]);

Write (‘A=’); Readln (A); k:= 0;

For i:=1 To n Do

If (X[i] >0) and (X[i] n;

Write (‘A=’); Readln (A); k:= 0; i:=1;

Repeat

If (X[i] >0) and (X[i] n;

2.3. Нахождение номеров элементов, обладающих заданным свойством

Задача 3. Найти номера четных элементов, стоящих на нечетных местах. (Презентация)

Введем обозначения: n – количество элементов в массиве; X – имя массива; i – индекс элемента массива; Xi – i-й элемент массива Х.

Входные данные: n, X.

Выходные данные: i.

Необходимо просмотреть весь массив. Если просматриваемый элемент является четным, а его порядковый номер – нечетный, то вывести его номер. При решении этой задачи можно использовать любой из видов циклов.

Составим программу с помощью цикла с параметром:

Var X: Array[1..20] Of Integer;

Begin

For i:=1 To n Do Readln (X[i]);

For i:=1 To n Do

If (X[i] mod 2 = 0) and (i mod 2<>0) Then Write (i:5);

Задача 4. Найти номер последнего отрицательного элемента массива.

Введем обозначения: n – количество элементов в массиве; А – имя массива; i – индекс элемента массива; Ai – i-й элемент массива A; m – номер последнего отрицательного элемента массива.

Входные данные: n, A.

Выходные данные: m.

Последний отрицательный элемент массива – это первый отрицательный элемент, который встретится при просмотре массива с конца. Если очередной элемент не является отрицательным, то нужно уменьшать значение текущего индекса (i:=i-1), пока он не станет меньше номера первого элемента или не будет найден отрицательный элемент. Переменная m получает значение i (номер отрицательного элемента), т.е. m := i. Если в массиве нет отрицательного элемента, то значение переменной m остается равным нулю.

Const n=10;

Var A: Array[1..n] Of Integer;

Begin

For i:=1 To n Do Readln (A[i]);

While (i >= 1) and (A[i] >=0) Do i:=i-1; m:=i;

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *