Заменить все элементы одномерного массива, меньшие заданной величины, на нуль - Pascal
Формулировка задачи:
Pascal. Составить процедуру, заменяющую все элементы, меньшие заданной величины, одномерного массива на нуль и определяющую число таких замен.
Применить данную процедуру для двух заданных одномерных массивов Р и С, заменив в них все отрицательные элементы на нуль, и определить, в каком массиве число замен больше.
Р(-0.01; 2.75; 458.7; 0.007; -0.0008)
C(-33.7; -0.004; -4.9; 0; -0.005)
Процедуры только недавно изучили, скажите что не так в моей программе:
program p4_2_5_25; type mas=array [1..5] of real; var P,C:mas; T:real; i,k,s:integer; procedure ZAMENA(P:mas;var k:integer); var i:integer; begin k:=0; for i:=1 to 5 do begin if P[i]<T then begin P[i]:=0; k:=k+1; end; end; end; procedure VVOD(var P:mas); var i:integer; begin for i:=1 to 5 do readln(P[i]); end; procedure VIVOD(P:mas); var i:integer; begin for i:=1 to 5 do write(P[i]:6:2); writeln; end; begin writeln('Введите величину T'); readln(T); writeln('Введите элементы массива Р'); VVOD(P); writeln('Введите элементы массива С'); VVOD(C); writeln('Массив Р'); VIVOD(P); writeln('Массив С'); VIVOD(C); ZAMENA(P,k); ZAMENA(C,s); writeln('Измененный массив Р'); VIVOD(P); writeln('Измененный массив С'); VIVOD(C); writeln('Количество замен в массиве Р = ', k); writeln('Количество замен в массиве С = ', s); if k>s then writeln('В массиве Р больше замен') else writeln('В массиве С больше замен'); end.
Решение задачи: «Заменить все элементы одномерного массива, меньшие заданной величины, на нуль»
textual
Листинг программы
procedure ZAMENA(var P: mas; T: Real; var k: Integer); var i: Integer; begin k:=0; for i:=1 to 5 do if P[i]<T then begin P[i]:=0; Inc(k); end; end;
Объяснение кода листинга программы
- Создается процедура
ZAMENA
с тремя параметрами:- Переменная
P
типаmas
(предположительно одномерный массив) - Переменная
T
типаReal
(предположительно величина, с которой сравниваются элементы массива) - Переменная
k
типаInteger
(предположительно счетчик)
- Переменная
- Инициализируется переменная
i
типаInteger
. - Присваивается значению
k
значение 0. - Запускается цикл от 1 до 5 (предположительно из-за фиксированного размера массива).
- Внутри цикла проверяется условие: если элемент массива
P[i]
меньше, чемT
, то выполняется следующее:- Элементу
P[i]
присваивается значение 0. - Переменная
k
увеличивается на 1.
- Элементу
- Процедура завершается.
Таким образом, данная процедура заменяет все элементы массива, которые меньше заданной величины
T
, на 0, и подсчитывает количество таких замен, сохраняя результат в переменнойk
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д