Есть массив sum [1..5] of real, в него надо внести данные, которые высчитываются и заносятся приведенной ниже частью программы. Вопрос, можно ли упростить и как?
{вычисление и запись элемента sum[1]}
if any.kurs=1 then
begin
if (pos('m',any.sex)>0) then m1:=m1+1
else w1:=w1+1;
sum[1]:=(m1/(m1+w1))*100;
end;
{вычисление и запись элемента sum[2]}
if any.kurs=2 then
begin
if (pos('m',any.sex)>0) then m2:=m2+1
else w2:=w2+1;
sum[2]:=(m2/(m2+w2))*100;
end;
if any.kurs=3 then
begin
if (pos('m',any.sex)>0) then m3:=m3+1
else w3:=w3+1;
sum[3]:=(m3/(m3+w3))*100;
end;
if any.kurs=4 then
begin
if (pos('m',any.sex)>0) then m4:=m4+1
else w4:=w4+1;
sum[4]:=(m4/(m4+w4))*100;
end;
if any.kurs=5 then
begin
if (pos('m',any.sex)>0) then m5:=m5+1
else w5:=w5+1;
sum[5]:=(m5/(m5+w5))*100;
end;
а это чето придумал я, sum[1..4] прописывает 0, а sum[5] правильно:
begin
for i:=1 to 5 do
sum:=0;
if any.kurs=i then
begin
if pos('m',any.sex)>0 then m1:=m1+1
else w1:=w1+1;
sum:=(m1/(m1+w1))*100;
end;
end;
Спасибо всем кто ответит!!!
{вычисление и запись элемента sum[1]}
if any.kurs=1 then
begin
if (pos('m',any.sex)>0) then m1:=m1+1
else w1:=w1+1;
sum[1]:=(m1/(m1+w1))*100;
end;
{вычисление и запись элемента sum[2]}
if any.kurs=2 then
begin
if (pos('m',any.sex)>0) then m2:=m2+1
else w2:=w2+1;
sum[2]:=(m2/(m2+w2))*100;
end;
if any.kurs=3 then
begin
if (pos('m',any.sex)>0) then m3:=m3+1
else w3:=w3+1;
sum[3]:=(m3/(m3+w3))*100;
end;
if any.kurs=4 then
begin
if (pos('m',any.sex)>0) then m4:=m4+1
else w4:=w4+1;
sum[4]:=(m4/(m4+w4))*100;
end;
if any.kurs=5 then
begin
if (pos('m',any.sex)>0) then m5:=m5+1
else w5:=w5+1;
sum[5]:=(m5/(m5+w5))*100;
end;
а это чето придумал я, sum[1..4] прописывает 0, а sum[5] правильно:
begin
for i:=1 to 5 do
sum:=0;
if any.kurs=i then
begin
if pos('m',any.sex)>0 then m1:=m1+1
else w1:=w1+1;
sum:=(m1/(m1+w1))*100;
end;
end;
Спасибо всем кто ответит!!!