Задать с клавиатуры число к и определить, сумма скольких элементов массива (по порядку следования) превысит это число




Какая сумма элементов массива больше – с первого до максимального элемента включительно или от максимального элемента до последнего.

-Какая сумма элементов массива больше – с первого до элемента с номером К или от элемента с номером К+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;

 

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-12-29 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: