Найти сумму положительных (SP) и количество отрицательных (PO) элементов массива - Free Pascal

Формулировка задачи:

Помогите пожалуйста с составлением программы. Условие: Найти сумму положительных (SP) и количество отрицательных (PO) элементов массива Z(7) и минимальный элемент массива b(2,3) и вычислить [x][/i]: x(i-тое)=((sqrt(SP))/(PO+a*c))+b(min-в индексе)*Sqr(k)+Z(i-ое); a=2,5e-3; c=175; K=8; Z(i-тое)=-2,3,12,-7,-18,27,-10; B(2,3)=Матрица 0.3 1.5 -6.1 7.2 10.3 0.6 Добавлено через 5 минут
Program LB5U;
Const a=2.5e-3;
c=175;
K=8;
Z:Array[1..7] of real=(-2,3,12,-7,18,27,-10);
VAR 
f:file;
B:Array[1..2 , 1..3] of real;
x:Array[1..7] of real;
i,j,t,y:integer;
min,SP,PO:real;
begin
assign (f,'z:\2Д63\Акимов А\Akimov14.txt');
REWRITE(F);
for i:=1 to 2 do
for j:=1 to 3 do
readln(B[I,J]);
min:=B[1,1];
for i:=1 to 2 do
for j:=1 to 3 do
begin
if B[i,j]<min then min:=B[i,j];
end;
writeln('Минимальный элемент= ', min);
PO:=0;
for t:=1 to 7 do 
if Z[t]<0 then 
PO:=PO+1;
writeln('Количество отрицательных элементов массива= ', PO);
for y:=1 to 7 do
readln((Z[y]));
SP:=0;
for y:=1 to 7 do
if Z[y]>0 then 
SP:=SP+Z[y];
for i:=1 to 7 do
x[i]:=(((sqrt(SP))/(PO+a*c))+min*sqr(K)+Z[i]);
WRITE(f,'X[i]= ',x[i]:3:3);
close(f);
end.
Вот так написал можете пожалуйста найти ошибку

Код к задаче: «Найти сумму положительных (SP) и количество отрицательных (PO) элементов массива - Free Pascal»

textual
program LB5U;
const a=2.5e-3;
      c=175;
      K=8;
      Z:Array[1..7] of integer=(-2,3,12,-7,18,27,-10);
      B:array[1..2,1..3] of real=((0.3,1.5,-6.1),
                                  (7.2,1.3,0.6));
var f:text;
    X:Array[1..7] of real;
    i,j,SP,PO:integer;
    min:real;
begin
assign (f,'Akimov14.txt'); //файл в папке с програмой
rewrite(f);
writeln(f,'Massiv Z');
SP:=0;
PO:=0;
for i:=1 to 7 do
 begin
  write(f,Z[i]:4);
  if Z[i]>=0 then inc(SP,Z[i])
  else inc(PO);
 end;
writeln(f);
writeln(f,'SP=',SP,' PO=',PO);
writeln(f,'Massiv B');
for i:=1 to 2 do
 begin
  for j:=1 to 3 do
   begin
    write(f,B[i,j]:5:1);
    if i+j=2 then min:=B[1,1]
    else if B[i,j]<min then min:=B[i,j];
   end;
  writeln(f);
 end;
writeln(f,'min=',min:0:1);
writeln(f,'Massiv X');
for i:=1 to 7 do
 begin
  X[i]:=sqrt(SP)/(PO+a*c)+min*sqr(K)+Z[i];
  write(f,X[i]:10:3);
 end;
writeln('Resultaty zapisany v fail Akimov14.txt');
close(f);
readln
end.

7   голосов, оценка 3.714 из 5


СОХРАНИТЬ ССЫЛКУ