Вычислить номер максимального по модулю элемента массива - Turbo Pascal (34002)
Формулировка задачи:
В одномерном массиве, состоящем из n вещественных элементов, вычислить
1 Номер максимального по модулю элемента массива.
2 Сумму элементов массива, расположенных после первого положительного элемента.
Преобразовать массив такие образом, чтобы сначало располагались все элементы, целая часть которых лежит в интервале [а,б], а потом все остальные.
Решение задачи: «Вычислить номер максимального по модулю элемента массива»
textual
Листинг программы
const k = 10; var B, C: array[1..100] of real; a, S, max: real; n, i, imax, p: integer; bln: boolean; begin write('n = '); readln(n); write('a = '); readln(a); bln := true; S := 0; max := -k; write('Введим массив ', n, ' случайных вещественных чисел:'); randomize; for i := 1 to n do begin b[i] := k * (2 * random - 1); write(' ', b[i]:0:3); if abs(b[i]) > max then begin max := abs(b[i]); imax := i end; if bln then begin if b[i] > 0 then bln := false end else S := S + b[i] end; writeln; writeln('Номер максимального по модулю элемента: ', imax); writeln('Сумма элементов массива после 1-го положительного: ', S:0:3); writeln; p := 0; { Делаем преобразование: } for i := 1 to n do if ((int(b[i]) >= a)and(int(b[i]) <= 6)) then begin inc(p); c[p] := b[i] end; for i := 1 to n do if ((int(b[i]) < a)or(int(b[i]) > 6)) then begin inc(p); c[p] := b[i] end; writeln('Выводим преобразованный массив:'); for i := 1 to p do write(' ', c[i]:0:3); end.
Объяснение кода листинга программы
- Переменная
k
инициализируется значением 10. - Создается переменная
B
, которая представляет собой массив из 100 элементов типаreal
. - Создаются переменные
a
,S
иmax
, которые инициализируются нулевыми значениями. Переменнаяmax
инициализируется отрицательным значениемk
. - Запускается цикл чтения данных.
- В цикле считывается число
n
и числоa
. - Переменная
bln
устанавливается в значениеtrue
. - Переменная
S
инициализируется нулем. - Переменная
max
устанавливается равной абсолютному значениюb[i]
для первого элемента массива. - Считывается случайное число для каждого элемента массива от 0 до 100.
- Если абсолютное значение числа больше значения
max
, то обновляется значениеmax
. - Если число положительное, то устанавливается значение
bln
вfalse
. - Иначе, к сумме
S
добавляется значение числа. - После завершения цикла, выводится номер максимального по модулю элемента и сумма элементов массива.
- Затем, выполняется преобразование массива.
- В цикле проверяется каждый элемент массива.
- Если элемент находится в диапазоне от
a
до6
, то его значение увеличивается на единицу и добавляется в массивc
. - Если элемент меньше
a
или больше6
, то его значение увеличивается на единицу и добавляется в массивc
. - После завершения цикла, выводится преобразованный массив.
- Для каждого элемента массива
c
выводится его значение. - Конец программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д