Содержание
Задача
Дан массив A вещественного типа, содержащий 20 положительных и отрицательных элементов. Сформировать массив B из положительных элементов массива A, имеющих четный индекс. Найти сумму квадратов элементов нового массива.
Решение
- j — счетчик количества элементов массива B;
- sum — сумма квадратов элементов массива B.
Алгоритм решения задачи:
- Сразу будем "просматривать" только четные элементы массива A. Для этого переменной i сначала присвоим значение 2 (первый четный элемент — второй) и затем в цикле будем увеличивать ее значение на 2.
- Если элемент массива A с четным индексом (i) больше нуля, то увеличим счетчик элементов массива B, по этому индексу присвоим его массиву B.
- Для подсчета суммы квадратов элементов массива B присвоим переменной sum сначала значение 0, затем добавим к ней квадрат каждого элемента.
KreN.del
Pepper-X
Насчёт пункта 1:
в цикле формирования масива B:
1) фиксируем элемент массива (A) для обработки
-> element:=A;
2) обнуляем сумму (в которой будет считаться сумма цифр элемента A, то есть тоже что и element)
-> Sum:=0;
во вложеном цикле делаешь (считаем сумму элемента A):
3) находишь остаток от деления element на 10 — это даст тебе самую правую цифру числа
-> ost:=element mod 10;
4) увеличиваем сумму на остаток
-> Sum:=Sum+ost;
5) делишь element на 10, дабы при следующем шаге вложенного цикла, при нахождении остатка от деления на 10, получалась уже 2, 3 и т.д. цифра числа element, которое в свою очередь не что иное как текущее A, которое мы "запомнили", чтобы немножко над ним поглумиться
-> element:=element div 10;
здесь вложеный цикл заканчиваеться
6) присваеваем B, то что необходимо, а именно сумму Sum
-> B:=Sum;
насчёт 2 пункта.. не помню точно что из себя представляет метод прямого обмена, просто я их по названию не различаю но он как и все не сложный.
а вот 3..
тут вопрос, удалить элементы, то есть занулить.. хотя наверное тута имееться ввиду полностью кильнуть. О, есть идея.
Вообщем коротко так. Элементы которые стоят на нечётных местах начиная с 3, мы ставим на номер num, который начинаеться с "1" и перед каждом таким смещзении элемента увеличиваеться на 1. А после всего num будет содержать новое количество элементов массива B.
!!Конечно нужно будет удостовериться что элементов в масиве 0 <нечётный элемент>
then begin
num:=num+1;
B[num]:=B;
end;
Вывод полученого массива
for i:=1 to num do
writeln(B);
Одномерные массивы. Формирование массива и вывод его элементов
- размер шрифта уменьшить размер шрифта увеличить размер шрифта
- Печать
Одномерные массивы. Формирование массива и вывод его элементов
Для тех кто ещё не выбрал себе жалюзи и рулонные шторы, огромный выбор здесь оренбург.жалюзи-светлов.рф
Определение понятия
Массив представляет собой совокупность данных одного типа с общим для всех элементов именем.
Элементы массива пронумерованы, и обращаться к каждому из них можно по номеру. Номера элементов массива иначе называются индексами, а сами элементы массива — индексированными переменными.
a[0]
a[1]
a[2]
a[3]
a[4]
a[ n ]
0.3
— 0. 5
0.77
0.01
-5.2
0.6
Вектор (линейный или одномерный массив) — это пример массива , в котором элементы нумеруются одним индексом.
- В качестве номера (индекса) элемента массива, в общем случае, используется выражение порядкового типа (чаще всего — это целая константа или переменная целого типа: integer, word, byte или shortint)
- При обращении к элементу массива индекс указывается в квадратных скобках. Например, a[10], mass[6].
- Обработка элементов массива производится при изменении индексов элементов. Например, в случае использования выражения следующие переменные удобно применять для просмотра в цикле элементов массива:
- a[i] — всех элементов;
- a[2*i] — элементов, стоящих на четных местах;
- a[2*i-1] — элементов, стоящих на нечетных местах
Описание массива
- Определение переменной как массив без предварительного описания типа массива
Примечание
- Описание массива требуется компилятору для выделения памяти под его элементы.
- Переменная определяется как массив посредством служебного слова array (массив). В квадратных скобках указывается диапазон, т. е. нижняя и верхняя граница значения индекса массива. Значение верхней границы не может быть меньше нижней.
- Здесь переменные s и k считаются разных типов. Для обеспечения совместимости необходимо применять описание переменных через предварительное описание типа.
- Если типы массивов идентичны, то в программе один массив может быть присвоен другому. В этом случае значения всех переменных одного массива будет присвоены соответствующим элементам второго массива.
- Над массивами не определены операции отношения. Сравнивать два массива можно только поэлементно.
Примечание
- Доступ к элементам массива будет осуществляться так: a[1], a[2], a[3], a[4], a[5] (т. е. массив содержит пять элементов).
- Употребление констант (в данном примере n) при описании массива предпочтительно, т. к. в случае изменения размеров массива не нужно будет вносить исправления по всему тексту программы.
Примечание
- В данном примере не только выделяется память под массив, но и происходит заполнение ячеек данными.
- Элементы массива можно изменять в ходе программы (как и все типизированные константы).
Заполнение массива данными
§ Для заполнения массива данными (и его вывода) чаще всего используется цикл с параметром for
§ Для заполнения массива случайными числами используется функция random и процедура randomize (инициализации генератора случайных чисел). Формат записи такой: random(B — A) + A, где A и B берутся из интервала [A,B)
- Ввод массива с клавиатуры
- Заполнение массива случайными числами
Вывод массива
- Вывод в столбец
- Вывод в одну строку через пробел-разделитель
- Вывод в одну строку c заданием формата
Пример программы на ввод и вывод массива
Пример программы работы с элементами массива
Постановка задачи. Получить сумму элементов массива, состоящего из 10 целочисленных элементов. Элементы массива вводятся с клавиатуры.
Пример программы работы с элементами массива
Постановка задачи. Получить среднее арифметическое элементов массива. Элементы массива заполняются случайными числами.