Задача 1:
const N = 15;
const MAX = 15;
const MIN = -15;
var A: array [1..N] of integer;
var i,s1,s2: integer;
begin
randomize();
s1:=0;
s2:=0;
writeln('Исходный массив: ');
for i:=1 to N do
begin
A[i]:=random(MAX-MIN+1)+MIN;
write(A[i],' ');
if (A[i]<0) then s1:=s1+A[i];
if (A[i] mod 3 = 0) then s2:=s2+A[i];
end;
writeln();
writeln('Сумма всех отрицательных элементов: ',s1);
writeln('Сумма всех элементов, кратных 3: ',s2);
end.
Задача 2:
const N = 20;
const MAX = 33;
const MIN = -15;
var A: array [1..N] of integer;
var i,imax,imin: integer;
begin
randomize();
imin:=1;
imax:=1;
writeln('Исходный массив: ');
for i:=1 to N do
begin
A[i]:=random(MAX-MIN+1)+MIN;
write(A[i],' ');
if (A[i]<A[imin]) then imin:=i;
if (A[i]>A[imax]) then imax:=i;
end;
writeln();
writeln('Номер минимального элемента массива: ',imin);
writeln('Номер максимального элемента массива: ',imax);
end.
#include<conio.h>
#include<stdio.h>
#include <stdlib.h>
#include<time.h>
#define N 25
#define K 3
int prime(int num)
{ int i;
for(i=2;i<=num/2;i++)
if(num%i==0) break;
if(i==num/2+1 || num==1) return num;
else return 0;
}
int maxPos(int A[])
{ int i,max,mPos;
max=0;
for(i=0;i<N;i++)
if(A[i]>max)
{ max=A[i];
mPos=i;
}
return mPos;
}
int main()
{ int i,j,X[N],Y[N],pos;
srand(time(NULL));
for(i=0;i<N;i++)
{ X[i]=rand()%30+1;
Y[i]=prime(X[i]);
}
printf("Original array\n");
for(i=0;i<N;i++)
printf("%3d",X[i]);
printf("\nArray-masque of prime numbers\n");
for(i=0;i<N;i++)
printf("%3d",Y[i]);
printf("\n\n");
for(j=0;j<K;j++)
{ pos=maxPos(Y);
printf("%3d in position %3d targeted\n",X[pos],pos);
Y[pos]=-1;
X[pos]=-1;
}
j=0;
for(i=0;i<N;i++)
if(X[i]!=-1)
{ Y[j]=X[i];
j++;
}
printf("\nResult:\n");
for(i=0;i<j;i++)
printf("%3d",Y[i]);
getchar();
return 0;
}
Объяснение: