3. задан числовой массив а[1: m, 1: n]. составить программу поиска количества отрицательных и положительных элементов массива расположенных над главной диагональю и обнуления тех, количество которых минимально. c или c++
Var ar:array[1..n] of integer; ar2:array[1..n] of integer; i,k:integer;
function prost(a:integer):boolean; var i:integer; b:boolean; begin b:=true; for i:=2 to a div 2 do if a mod i=0 then begin; b:=false; break; end; if a=1 then b:=false; prost:=b; end;
begin; randomize; k:=0; for i:=1 to n do begin; ar[i]:=random(101); write(ar[i]:4); end; writeln; for i:=1 to n do if prost(ar[i]) then begin; inc(k); ar2[k]:=ar[i]; write(ar2[k]:4); end; end.
1)program primer1;
var х,у,z:integer;
{ описание переменных }
begin { начало программы }
х := 3; { установка значения х }
у := 5; { установка значения у }
z := х + у; { вычисление суммы }
write(z); {вывод результата вычисления на экран }
end. { конец программы }
2) program vetvlenija;
uses crt;
var A:real;
begin
clrscr;
write ('Введите число A: ');
readln (A);
if A>=0 then
writeln ('Вы ввели положительное число');
readln
end.
3) program cikle;
var
i, n: integer;
begin
write ('Количество знаков: ');
readln (n);
for i := 1 to n do
write ('(*) ');
readln
end.
Объяснение:
1) линейный, без ничего
2) ветвление - if then
3) цикл - for
n=5;
Var
ar:array[1..n] of integer;
ar2:array[1..n] of integer;
i,k:integer;
function prost(a:integer):boolean;
var i:integer;
b:boolean;
begin
b:=true;
for i:=2 to a div 2 do
if a mod i=0 then
begin;
b:=false;
break;
end;
if a=1 then b:=false;
prost:=b;
end;
begin;
randomize;
k:=0;
for i:=1 to n do
begin;
ar[i]:=random(101);
write(ar[i]:4);
end;
writeln;
for i:=1 to n do
if prost(ar[i]) then
begin;
inc(k);
ar2[k]:=ar[i];
write(ar2[k]:4);
end;
end.