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.
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.
Всё таки есть сомнение нужна сумма нечётных элементов массива или сумма элементов массива с нечётными индексами?
В данной прграмме подсчитывается сумма нечётных элементов массива
Если же нужно второе то строку отмеченную {*} следует заменить на
if (i mod 2)>0 then s:=s+a[i];
Program massiv;
Uses Crt;
var a:array[1..10] of integer;
i,sum,ch:integer;
begin
clrscr;
write('Введите число:' );
readln(ch);
write('Введите элементы массива:');
sum:=0;
for i:=1 to 10 do
begin
readln(a[i]);
if (a[i] mod 2)>0 then s:=s+a[i]; {*}
end;
writeln; write('Исходный массив: ');
for i:=1 to 10 do
begin
write(a[i]);
write(' ' );
end;
writeln; writeln;
write('Сумма нечётных элементов массива: ',sum)
writeln; writeln;
write('Номера элементов которые больше числа ',ch,' : ' );
for i:=1 to 10 do
if (a[i]>ch) then
begin
write(i:2);
write(' ' );
end;
writeln; writeln;
write('Положительные числа которые кратны числу ',ch,' : ' );
for i:=1 to 10 do
if (a[i]>0) and (a[i] mod ch=0) then
begin
write(a[i]);
write(' ' );
end;
readkey;
end.