Выполните сложение двух дробных чисел в pascal abc через while

Malinka440 Malinka440    1   06.06.2019 09:10    2

Ответы
leo1010101 leo1010101  01.10.2020 20:29
Var
  i,z:integer;
  a:array[1..2,1..3]of integer;
  begin
for i:=1 to 2 do
  begin
  write('Введите числитель и знаменатель дроби (через пробел): ');
  readln(a[1,i],a[2,i]);
  end;
a[2,3]:=a[2,1]*a[2,2]; 
a[1,3]:=a[1,1]*a[2,2]+a[1,2]*a[2,1];
z:=a[1,3] div a[2,3];
a[1,3]:=a[1,3] mod a[2,3];
i:=a[2,3];
while i>1 do
   begin
   if (a[2,3] mod i=0) and (a[1,3] mod i=0) then
     begin
     a[2,3]:=a[2,3] div i;
     a[1,3]:=a[1,3]div i;
     i:=a[2,3];
     end
     else i:=i-1;
   end;
write(a[1,1],'/',a[2,1],'+',a[1,2],'/',a[2,2],'=');
if z>0 then write(z);
if a[1,3]>0 then writeln('(целая часть) ',a[1,3],'/',a[2,3],'(дробная часть)')
end.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика