В одномерном массиве, состоящем из n вещественных элементов вычислить:1. количество элементов , лежащих в диапазоне от А до В;2. сумму элементов, расположенных после максимального элемента — Pascal(Паскаль)

uses crt;
var
m:array[1..100]of real;
i,a,b,kol,n,pos:integer;
sum,max:real;
begin clrscr;
write('n=');
read(n);
for i:=1 to n do
 begin
  write('m[',i,']=');
  read(m[i]);
 end;
writeln;
write('A='); read(a);
write('B='); read(b);
kol:=0;
if a<b then
 begin
  for i:=a to b do
  inc(kol);
 end;
if b>a then
 begin
  for i:=b to a do
  inc(kol);
 end;
if a=b then writeln('A=B');
writeln('kol-vo=',kol);
writeln;
max:=m[1];
for i:=1 to n do
if m[i]>max then
 begin
  max:=m[i];
  pos:=i;
 end;
writeln('max=',max:2:2);
writeln;
sum:=0;
for i:=pos+1 to n do
sum:=sum+m[i];
writeln('summa=',sum:2:2);
readkey;
end.

Вариант 2

uses crt;
const n=10;
var m:array[1..n]of integer;
i,k,a,b,max:integer;
 
begin
 clrscr;
 write('Массив -> ');
 for i:=1 to n do read(m[i]);
 readln;
 repeat
 write('A,B (A<b) ->');
 readln(a,b);
 until a<b
 k:=0;
 for i:=1 to n do if (m[i]>=a) and (m[i]<=b) then inc(k);
 write('Всего таких элементов - ',k);
 max:=1;
 for i:=1 to n do if m[i]>m[max] then max:=i;
 k:=0;
 for i:=max+1 to n do k:=k+m[i];
 writeln('Сумма элементов после MAX = ',k);
 readln;
end.

Leave a Comment

62 − 53 =