RE:busco en traductor de pascal a c/c bajo windo
Publicado por
jineth (1 intervención) el 28/11/2011 22:41:01
]necesito trasladar este programa de pascal a c++ me puedes ayudar lo necesito para el jueves
Program Eliminacion;
Uses crt;
Type
Matriz=array[1..3,1..4] of integer;
Var
M:Matriz;
i,j:integer;
Function Signo(n:integer):string;
Begin
if n>=0 then
Signo:='+'
else
Signo:='-';
End;
Procedure Imprimir(M:Matriz);
Var
i,j:integer;
Begin
for i:=1 to 3 do
begin
for j:=1 to 4 do
begin
case j of
1:
write(M[i,j]:5,' X');
2:
write(signo(M[i,j]):2,abs(M[i,j]):4,' Y');
3:
write(signo(M[i,j]):2,abs(M[i,j]):4,' Z');
4:
write(' = ',(M[i,j]):4);
end;
end;
writeln;
end;
End;
Procedure PriSeg(Var M:Matriz);
Var
factor1,factor2,j:integer;
Begin
if M[1,1]>0 then
begin
if M[2,1]>0 then
begin
factor1:=-M[1,1];
factor2:=M[2,1];
end
else
begin
factor1:=M[1,1];
factor2:=M[2,1];
end;
end
else
begin
if M[2,1]>0 then
begin
factor1:=M[1,1];
factor2:=M[2,1];
end
else
begin
factor1:=M[1,1];
factor2:=-M[2,1];
end;
end;
for j:=1 to 4 do
begin
M[2,j]:=M[1,j]*factor2+M[2,j]*factor1;
end;
End;
Procedure PriTer(Var M:Matriz);
Var
factor1,factor2,j:integer;
Begin
if M[1,1]>0 then
begin
if M[3,1]>0 then
begin
factor1:=-M[1,1];
factor2:=M[3,1];
end
else
begin
factor1:=M[1,1];
factor2:=M[3,1];
end;
end
else
begin
if M[3,1]>0 then
begin
factor1:=M[1,1];
factor2:=M[3,1];
end
else
begin
factor1:=M[1,1];
factor2:=-M[3,1];
end;
end;
for j:=1 to 4 do
begin
M[3,j]:=M[1,j]*factor2+M[3,j]*factor1;
end;
End;
Procedure SegTer(Var M:Matriz);
Var
factor1,factor2,j:integer;
Begin
if M[2,2]>0 then
begin
if M[3,2]>0 then
begin
factor1:=-M[2,2];
factor2:=M[3,2];
end
else
begin
factor1:=M[2,2];
factor2:=M[3,2];
end;
end
else
begin
if M[3,2]>0 then
begin
factor1:=M[2,2];
factor2:=M[3,2];
end
else
begin
factor1:=M[2,2];
factor2:=-M[3,2];
end;
end;
for j:=2 to 4 do
begin
M[3,j]:=M[2,j]*factor2+M[3,j]*factor1;
end;
End;
Procedure Sustituciones(M:Matriz);
Var
X,Y,Z:real;
Begin
Z:=M[3,4]/M[3,3];
writeln('Z = ',Z:0:2);
Y:=(M[2,4]-(Z*M[2,3]))/M[2,2];
writeln('Y = ',Y:0:2);
X:=(M[1,4]-Y*M[1,2]-Z*M[1,3])/M[1,1];
writeln('X = ',X:0:2);
End;
Begin
clrscr;
for i:=1 to 3 do
begin
writeln('Ecuaci¢n Nro.',i);
for j:=1 to 4 do
begin
case j of
1:
write('Coeficiente de X : ');
2:
write('Coeficiente de Y : ');
3:
write('Coeficiente de Z : ');
4:
write(' Valor derecho : ');
end;
readln(M[i,j]);
end;
writeln;
end;
writeln;
writeln('Sistema Original ');
writeln;
imprimir(M);
readln;
writeln;
writeln('Eliminaci¢n Primera y Segunda Ecuaci¢n');
writeln;
PriSeg(M);
imprimir(M);
readln;
writeln('Eliminaci¢n Primera y Tercera Ecuaci¢n');
writeln;
PriTer(M);
imprimir(M);
readln;
writeln('Eliminaci¢n Segunda y Tercera Ecuaci¢n');
writeln;
SegTer(M);
imprimir(M);
readln;
writeln;
Sustituciones(M);
readln;
End.