Какая сумма элементов массива больше – с первого до максимального элемента включительно или от максимального элемента до последнего.
-Какая сумма элементов массива больше – с первого до элемента с номером К или от элемента с номером К+1 до последнего.
procedure p1(a:mas;n,k:byte;var s1,s2:integer);
var i:byte;
begin
if not f then
begin
writeln('Массив еще не создан, вернитесь к пункту 1');
readln;
exit;
end;
clrscr;
for i:=1 to n do
write(a[i]:4);
writeln;
repeat
write('Введите номер элемента для подсчета сумм k=[1..',n,'] k=');
readln(k);
until k in [1..n];
s1:=0;
s2:=0;
for i:=1 to k do
s1:=s1+a[i];
for i:=k+1 to n do
s2:=s2+a[i];
writeln('Сумма элементов от номера 1 до номера ',k,'=',s1);
writeln('Сумма элементов от номера ',k+1,' до номера ',n,'=',s2);
if s1>s2 then writeln('Первая сумма больше второй')
else if s2>s1 then writeln('Вторая сумма больше первой')
else writeln('Суммы равны');
readln;
- Вывести на экран элементы, стоящие между максимальным и минимальным элементами
program min_max;
var i,n,max,min:integer;
a:array [1..100] of integer;
begin
write('Введите число элементов массива: ');
read(n);
for i:=1 to n do // Ввод в массив чисел
read(a);
min:=a[1];
max:=a[1];
for i:=1 to n do
begin
if a>max then max:=i;
if a<min>,' ');
end.
8.Определить, что больше – сумма элементов, стоящих до максимального элемента, или сумма элементов, стоящих до минимального элемента;
9. Определить, что больше – сумма элементов, стоящих до минимального элемента, или сумма элементов, стоящих после минимального элемента;
10 Определить, что больше – сумма элементов, стоящих до максимального элемента, или сумма элементов, стоящих после максимального элемента;
-Определить, что больше – сумма элементов, стоящих после максимального элемента, или сумма элементов, стоящих после минимального элемента;
Uses CRT;
Var
A:Array[1..1000] of Integer;
i,N,Mx,Mn,Imax,Imin,Smax,Smin:Integer;
Begin
Clrscr;
Write('N= ');
Readln(N);
For i:=1 to N do
begin
Write('A[',i:2,']= ');
Readln(A[i]);
end;
ClrScr;
for i:=1 to N do write(A[i]:4);
Writeln;
Writeln;
Smax:=0;
Smin:=0;
Mx:=A[1];
Mn:=A[1];
Imin:=1;
Imax:=1;
for i:=2 to N do
begin
if A[i]<Mn then
begin
Mn:=A[i];
Imin:=i;
end;
if A[i]>Mx then
begin
Mx:=A[i];
Imax:=i;
end;
end;
for i:=Imin+1 to N do Smin:=Smin+A[i];
for i:=Imax+1 to N do Smax:=Smax+A[i];
If Smin>Smax then
writeln('After minimal')
else
writeln('After maximal');
Readln
End.
-Получить среднее арифметическое всех чётных элементов массива, стоящих на нечётных местах;
const N = 10;
var arr: array[1..N] of integer;
i, k: byte;
sum: integer;
avr: real;
begin
writeln('Enter the ten elements of the array:');
for i:=1 to N do
read(arr[i]);
sum:= 0;
i:= 1;
k:= 0;
while i <= N do begin
if (arr[i] mod 2) = 0 then begin
sum:= sum + arr[i];
k:= k + 1
end;
i:= i + 2
end;
writeln(sum);
if k <> 0 then begin
avr:= sum / k;
writeln(avr)
end
else
writeln('No elements');
readln;
end.
Получить среднее арифметическое всех нечётных элементов массива, стоящих на чётных местах;
const
nmax=100;
var
a: array[1..nmax] of integer;
n,i,s,k: integer;
begin
randomize;
s:=0; k:=0;
write('Сколько элементов в массиве? ');
readln(n);
writeln('Массив:');
for i:=1 to n do
begin
a[i]:=random(99)+1;
write(a[i],' ');
if (i mod 2=0)and(a[i] mod 2<>0) then
begin
s:=s+a[i];
inc(k);
end;
end;
writeln;
if k=0 then writeln('В массиве нет элементов, удовлетворяющих условию.')
else writeln('Искомое среднее = ',s/k:0:2);
readln;
end.
-Получить среднее арифметическое всех положительных нечётных элементов массива;
var
i, count: integer;
S: real;
begin
if (n <> 0) then
begin
s:= 0; count:= 0;
for i:= 1 to n do
if odd(A[i]) and (A[i] > 0) then
begin
s:= s + A[i];
inc(count);
end;
if count <> 0 then s:= s/count else s:= 0;
Writeln('Среднее арифметическое: ', s:0:4);
end else Writeln('Массив не задан!');
end;
15. Из положительных элементов исходного массива сформировать новый массив;
-Из элементов исходного массива сформировать два новых массива, один из положительных элементов исходного массива, другой – из отрицательных;
cоnst N = 20;
var Amas, Bmas, Cmas:array[1..N] of integer;
i, b, c: integer;
begin
Randomize;
for i:= 1 to N do begin
Amas[ i]:= Random(10)-Random(10);
end;
b:= 0;
c:= 0;
for i:= 1 to N do begin
if Amas[ i] > 0 then begin
b:= b + 1;
Bmas[ b]:= Amas[ i];
end
else begin
c:= c + 1;
Cmas[ c]:= Amas[ i];
end;
end;
writeln('Исходный массив');
for i:= 1 to N do begin
write(Amas[ i], ' ');
end;
writeln;
writeln('Массив с положительными числами');
for i:= 1 to b do begin
write(Bmas[ i], ' ');
end;
writeln;
writeln('Массив с отрицательными числами');
for i:= 1 to c do begin
write(Cmas[ i], ' ');
end;
end.
17. Получить произведение всех отрицательных элементов массива и определить, чётное или нечётное их число было перемножено;
-Получить сумму всех элементов массива, больших, чем заданное с клавиатуры число;
var
mas:array[1..100]of Integer;
A,i,n,sum:Integer;
begin
write('4islo elementov massiva: ');
readln(n);
writeln('Vvedite massiv: ');
for i:=1 to n do read(mas[i]);
write('Vvedite 4islo A: ');
readln(A);
sum:=0;
for i:=1 to n do if mas[i]>A then sum:=sum+mas[i];
writeln('Summa elementov massiva, bolshih ',A,': ',sum);
readln;
end.
Задать с клавиатуры число к и определить, сумма скольких элементов массива (по порядку следования) превысит это число
-Ввести матрицу и определить, каких чисел в ней больше – положительных, отрицательных или нулей.
ps:=0;//положительных элементов
ng:=0;//отрицательных элементов
zr:=0;//нулевых элементов
for i:=1 to n do for j:=m do begin
if mattrix[m,n]=0 then inc(zr);
if mattrix[m,n]>0 then inc(ps);
if mattrix[m,n]<0 then inc(ng);
end;
-Ввести матрицу и определить в ней максимум с координатами и минимум с координатами
procedure PosMaxMin (const a: TArr; const n, m: Integer);
var
Max,Min:Byte;
XMin,YMin,XMax,Ymax:Byte;
X,Y:Byte;
Begin
XMin:= 1;
YMin:= 1;
XMax:= 1;
YMax:= 1;
Max:= a[1,1];
Min:= a[1,1];
For Y:= 1 to n do
For X:= 1 to m do
Begin
If a[Y,X] > Max Then Begin Max:= a[Y,X]; XMax:= X; YMax:= Y; End;
If a[Y,X] < Min Then Begin Min:= a[Y,X]; XMin:= X; YMin:= Y; End;
End;
WriteLn ('Max(', YMax, ';', XMax, ')');
WriteLn ('Min(', YMin, ';', XMin, ')');
Delay (2000)
End;