Массив - Turbo Pascal (249002)
Формулировка задачи:
Вариант 5.
В одномерном массиве, состоящем из n вещественных элементов, вычислить:
1.Максимальный элемент массива.
2. Сумму элементов массива, расположенных до последнего положительного элемента.
3. Сжать массив, удалив из него элементы, модуль которых находится в интервале [a,b]. Освободившиеся в конце массива элементы заполнить нулями.
Решение задачи: «Массив»
textual
Листинг программы
const n=8; W=7; D=2; var x: array [1..n] of Real; a, b, s, ts, mx: Real; i, j: Integer; begin Randomize; for i:=1 to n do x[i]:=-50+100*Random; Write('X ='); for i:=1 to n do Write(' ',x[i]:W:D); WriteLn; Write('a b: '); ReadLn(a,b); mx:=x[1]; {j:=0;} for i:=1 to n do begin if x[i]>0 then begin s:=s+ts; ts:=0; end; ts:=ts+x[i]; if mx<x[i] then mx:=x[i]; if not ((a<=Abs(x[i])) and (Abs(x[i])<=b)) then begin Inc(j); x[j]:=x[i]; end; end; for i:=j+1 to n do x[i]:=0; WriteLn('max = ',mx:W:D); WriteLn('sum до последнего >0 = ',s:W:D); Write('X''='); for i:=1 to n do Write(' ',x[i]:W:D); WriteLn; end.
Объяснение кода листинга программы
В этом коде:
- Объявляются переменные:
- n — количество элементов в массиве (8);
- W, D — параметры вывода чисел с плавающей точкой (7, 2 соответственно);
- x — массив из n элементов типа Real;
- a, b, s, ts, mx — переменные типа Real;
- i, j — целочисленные переменные для обозначения индексов.
- Инициализируются случайные значения для всех элементов массива x с помощью цикла for и функции Random.
- Выводятся на экран все элементы массива x с помощью цикла for и функции Write.
- Считываются значения a и b с помощью функции ReadLn.
- Переменная mx инициализируется значением первого элемента массива x.
- Цикл for проходит по всем элементам массива x. Если значение элемента положительное, то к сумме s прибавляется значение элемента ts, а ts обнуляется. Если максимальное значение из всех элементов меньше текущего, то оно присваивается переменной mx. Если текущий элемент выходит за пределы диапазона, заданного значениями a и b, то он не учитывается, а вместо него на соответствующем индексе массива x хранится ноль.
- Цикл for проходит по элементам массива x, начиная с индекса j+1 до конца массива, и всем элементам присваивается значение 0.
- Выводится на экран максимальное значение из элементов массива x с помощью функции Write.
- Выводится на экран сумма элементов массива x, больших нуля, с помощью функции Write.
- Выводится на экран строка
X''=
, а затем все элементы массива x с помощью цикла for и функции Write.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д