Реализовать процедуру или функцию, реализующую следующие операции над одномерными массивами. Написать программу, использующую данные алгоритмы. !Работу пррограммы организовать в виде функций! -Язык Программирования(Pascal) 1. З...
Реализовать процедуру или функцию, реализующую следующие операции над одномерными массивами. Написать программу, использующую данные алгоритмы.
!Работу пррограммы организовать в виде функций! -Язык Программирования(Pascal)
1. Заменить положительные элементы массива единицами, отрицательные – нулями, посчитать количество положительных и отрицательных элементов.
2.Вывести на экран номера положительных элементов массива и посчитать количество таких элементов.
3.Найти сумму и среднее арифметическое значение модулей нечетных элементов массива.
Сделайте хотя бы одно из трёх заданий! Буду благодарен!
Ответ(ы) на вопрос:
Гость
// PascalABC.NET 3.1, сборка 1214 от 09.04.2016
procedure ex1(a:array of integer; var nn,np:integer);
begin
nn:=0; np:=0;
for var i:=0 to a.Length-1 do
if a[i]<0 then begin a[i]:=0; Inc(nn) end
else
if a[i]>0 then begin a[i]:=1; Inc(np) end
end;
begin
var a:=ArrRandom(ReadInteger('n='),-20,20);
a.Println;
var kp,kn:integer;
ex1(a,kn,kp);
Writeln('Отрицательных ',kn,', положительных ',kp);
a.Println
end.
Тестовое решение:
n= 15
-5 4 -10 15 12 -17 12 4 0 8 -2 -9 8 6 4
Отрицательных 5, положительных 9
0 1 0 1 1 0 1 1 0 1 0 0 1 1 1
// PascalABC.NET 3.1, сборка 1214 от 09.04.2016
procedure ex2(a:array of integer);
begin
var k:=0;
for var i:=0 to a.Length-1 do
if a[i]>0 then begin Print(i+1); Inc(k) end;
Writeln(NewLine,'Количество положительных элементов равно ',k)
end;
begin
var a:=ArrRandom(ReadInteger('n='),-20,20);
a.Println;
ex2(a);
end.
Тестовое решение:
n= 13
15 -3 1 11 -20 17 -17 -12 -12 20 11 2 20
1 3 4 6 10 11 12 13
Количество положительных элементов равно 8
// PascalABC.NET 3.1, сборка 1214 от 09.04.2016
procedure ex3(a:array of integer);
begin
var s:=0;
var k:=0;
var i:=0;
while i
Не нашли ответ?
Похожие вопросы