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

uses crt;
const n=10;
var m:array[1..n]of real;
i,j,k,max:integer;
b,s:real;
 
begin
 clrscr;
 write('Массив -> ');
 for i:=1 to n do read(m[i]);
 readln;
 repeat
 write('A,B -> ');
 readln(a,b);
 until a<b;
 
 max:=1;
 for i:=1 to n do if abs(m[i])>abs(m[max]) then max:=i;
 writeln('Номер максимального по модулю элемента - ',max);
 
 k:=1;  
 while (k<n) and (m[k]<=0) do inc(k);
 s:=0;
 for i:=k+1 to n do s:=s+m[i];
 writeln('Сумма после первого положительного = ',s);
 
 for i:=1 to n do
 for j:=1 to n-1 do
 if ((trunc(m[j])>b) or (trunc(m[j])<a)) and (trunc(m[j+1])>=a) and (trunc(m[j+1])<=b) then
 begin
  k:=m[j];
  m[j]:=m[j+1];
  m[j+1]:=k;
 end;
 writeln('Отсортированный массив');
 for i:=1 to n do write(m[i]:0:3,' ');
 readln;
end.

Leave a Comment

+ 82 = 88