Zdravim, resim problem se spolecnym jmenovatelem dvou zlomku...
Dostanu ctyri cisla na vstupu, z tech vytvorim 2 zlomky a ty mam prevest na 2zlomky se stejnym jmenovatelem, ale ani za nic mi nejde udelat. Pokud mozno, co nejjednoduseji, pokud by to slo treba bez tech NSD a NSN. Kod:
program zlomky;
type zlomek=array[1..2] of integer;
procedure vytvor(a,b:integer; var x:zlomek);
begin
readln(x[1],x[2]);
end;
function nsd(var x,y:zlomek):integer;
var zb:integer;
begin
repeat
zb:=x[2] mod y[2];
x[1]:=y[2];
if zb=0 then break else y[2]:=zb;
until zb=0;
nsd:=y[2];
end;
function nsn(x,y:zlomek):integer;
begin
nsn:=(x[2]*y[2]) div nsd(x,y);
end;
procedure spolJ(x,y:zlomek; var x2,y2:zlomek);
begin
x2[2]:=nsn(x,y);
y2[2]:=nsn(x,y);
x2[1]:=((x2[2]/x[2])*x[1]);
y2[1]:=((y2[2]/y[2])*y[1]);
end;
procedure zapis(var x:zlomek);
begin
if x[2]<>1 then writeln(x[1],'/',x[2]) else writeln(x[1]);
end;
var x,x2,y,y2,z,z2:zlomek;
a,b:integer;
begin
vytvor(a,b,x);
zapis(x);
vytvor(a,b,y);
zapis(y);
writeln('Spolecny jmenovatel: '); spolJ(x,y,x2,y2); zapis(x2); zapis(y2);
end.
Predem diky vsem za rady.