Дан вещественный вектор. Все его элементы, большие 0, умножить на 10, остальные оставить без изменения - Pascal
Формулировка задачи:
Дан вещественный вектор. Все его элементы, больше 0 - умножить на 10, остальные оставить без изменения и упорядочить полученный вектор по возрастанию.
........................................................................................................................ .....................................
Прошу помощи, все попытки написать программу тщетны, либо не работает, либо работает не так как надо(
Не страдающий гордостью программист может оставить номер Киви, отблагодарю!
Решение задачи: «Дан вещественный вектор. Все его элементы, большие 0, умножить на 10, остальные оставить без изменения»
textual
Листинг программы
const m = 10; var a: array[1..m] of real; t: real; i, j: integer; begin randomize; writeln('Вектор:'); for i := 1 to m do begin a[i] := 198 * random - 99; write(a[i]:7:2) end; writeln; writeln('Элементы вектора, большие 0, умножены на 10:'); for i := 1 to m do begin if a[i] > 0 then a[i] := a[i] * 10; write(a[i]:7:2) end; writeln; for i := 1 to m - 1 do for j := i + 1 to m do if a[i] > a[j] then begin t := a[i]; a[i] := a[j]; a[j] := t end; writeln('Вектор, отсортированный по неубыванию:'); for i := 1 to m do write(a[i]:7:2); readln end.
Объяснение кода листинга программы
- Объявляется константа
m
со значением10
- предполагаю, что это размерность вектора. - Объявляются переменные
a
- вектор вещественных чисел,t
- временная переменная для обмена значений, иi, j
- целочисленные переменные для циклов. - Генерируются случайные числа и записываются в вектор
a
. - Выводится сгенерированный вектор.
- Проверяются элементы вектора на то, больше ли они нуля, и если да, то они умножаются на 10.
- Выводится измененный вектор.
- Сортируется вектор по неубыванию.
- Выводится отсортированный вектор.
- Программа завершается ожиданием ввода пользователя.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д