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

uses crt;
const n=10;
var m:array[1..n]of real;
i,j,k:integer;
s:real;
begin
 clrscr;
 write('Массив -> ');
 for i:=1 to n do read(m[i]);
 readln;
 
 k:=0;
 for i:=1 to n do if m[i]>0 then inc(k);
 write('Всего положительных - ',k);
 
 k:=n;
 while (k>1) and (m[i]<>0) do k:=k-1;
 s:=0;
 for i:=k+1 to n do s:=s+m[i];
 writeln('Сумма после последнего нуля = ',s:0:4);
 
 for i:=1 to n do
 for j:=1 to n-1 do
 if (trunc(m[j]>1)) and (trunc(m[j+1])<=1) 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:4,' ');
 readln;
end.

Leave a Comment

23 − = 21