Заменить все элементы одномерного массива, меньшие заданной величины, на нуль - 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
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д