Динамический массив, сумма его отрицательных элементов с чётным порядковым номером - Free Pascal
Формулировка задачи:
В данном динамическом массиве подсчитать количество отрицательных элементов с чётным порядковым номером.
Type arrdin = array[1..40] of integer; {40–максимальное количество элементов}
Var arrmax: array[1..10] of integer;
row: ^arrdin; {исходный массив}
n, i, j, k: integer;
begin
randomize;
for i:=1 to 10 do
Begin
n:=random(40)+1;
getmem(row,n*sizeof(integer));
for k:=1 to n do {формирование массива и вывод его на экран}
Begin
row^[k]:=random(100); write(row^[k],',')
End; end; end.Решение задачи: «Динамический массив, сумма его отрицательных элементов с чётным порядковым номером»
textual
Листинг программы
Type
arrdin = array[1..40] of integer;
Var
row: ^arrdin;
n, k: integer;
count : integer;
begin
randomize;
n:=random(40)+1;
getmem(row,n*sizeof(integer));
for k:=1 to n do
Begin
row^[k]:=-100 + random(201); write(row^[k],',')
End;
writeln;
count := 0;
for k := 1 to n div 2 do
if row^[2*k] < 0 then inc(count);
writeln('count = ', count);
freemem(row);
end.
Объяснение кода листинга программы
В данном коде:
- Объявляется тип динамического массива
arrdinкак массив 40 целых чисел. - Создается переменная
rowтипаarrdinи выделяется память под неё. - Задается количество элементов массива
nравное случайному числу от 1 до 40. - Выделяется память под массив
rowразмеромn. - Заполняются элементы массива случайными числами от -100 до 100.
- Выводится заполненный массив.
- Инициализируется счётчик
countравный 0. - Счётчик
countувеличивается на единицу, если элемент массива с четным индексом отрицательный. - Выводится значение счётчика
count. - Освобождается память, выделенная под массив
row.