elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  como pasar estos ejercicios de pascal a c++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: como pasar estos ejercicios de pascal a c++  (Leído 2,307 veces)
hunter22

Desconectado Desconectado

Mensajes: 1


Ver Perfil
como pasar estos ejercicios de pascal a c++
« en: 16 Octubre 2013, 03:26 am »

BUENAS NOCHES, ESPERO ALGUIEN ME AYUDE A TRADUCIR ESTOS EJERCICIOS DE PASCAL PARA C++ ES URGENTE Y DEBIDO A QUE NO SE MUCHO DE C++ PUES NO HE PODIDO REALIZARLOS, AQUI ESTAN LOS CODIGOS.


program EDIF;
uses wincrt;
const
  N=4;
  M=3;
  MAXHAB=5;
type
  A=array[1..N,1..M] of integer;
var
  X:A;
  I,J,K,Y,CONT,MH,Z:integer;
  OPC,S:char;
begin
 for I:=1 to N do
  for J:=1 to M do
   repeat
   clrscr;
writeln ('BIENVENIDO A LA MATRIZ DEL EDIFICIO');
writeln(' ');
    write('Piso ',I,' Apart ',chr(J+64),': ');
    readln(X[I,J]);
    if (X[I,J]<=0) or (X[I,J]>MAXHAB) then
    begin
     writeln('Numero de residentes no permitida.');
     writeln('El numero de residentes debe ser mayor a 0 y menor q ',MAXHAB)
    end
   until (X[I,J]>=0) and (X[I,J]<=MAXHAB);
   repeat

 writeln;
 write('apart   ');
 for I:=1 to M do
  write('   ',chr(I+64),'  ');
 writeln;
 write('          ');
 for K:=1 to M do
  write('------');
 writeln;
 for I:=1 to N do
 begin
  if  N-I=0 then
   write('PB       ')
  else
   write('Piso ',(N-I),'   ');
  for J:=1 to M do
  begin
   write('| ',X[N+1-I,J]:2,'  ');
  end;
  writeln('|');
  write('          ');
  for K:=1 to M do
   write('------');
  writeln;
 end;

for I:=1 to N do
 for J:=1 to M do
 if X[I,J]>=MH then
 begin
  MH:=X[I,J];
  Z:=J;
  Y:=I;
 end;
writeln('el apartamento con mas residentes es:',MH);
writeln('y esta en el:',Y,'-',chr(Z+64));

for I:=1 to N do
 for J:=1 to M do
 if (X[I,J]<=MH)and (X[I,J]>0) then
 begin
  MH:=X[I,J];
  Z:=J;
  Y:=I;
 end;
writeln('apartamento con menos residentes: ',MH);
writeln('y esta en el: ',Y,' - ',chr(Z+64));
  CONT:=0;
for I:=1 to N do
 for J:=1 to M do
 if  X[I,J]=0 then
 begin
 CONT:=CONT+1;
 end;
writeln('apartamentos vacios :',CONT);

writeln('desea modificar algun apartamento? S/N');
readln(OPC);
writeln('----ENRIQUE RODRIGUEZ C.I: 23497243----');
writeln('||INFORMATICA III VESPERTINO, IUTCM||');
 if (OPC='S')or (OPC='s')then
 begin
  repeat
   writeln('ingrese el piso:');
   readln(I);
   if (I<=0) or (I>N) then
    writeln('numero de piso no valido')
  until (I>=0) and (I<=N);
  repeat
   writeln('ingrese el apartamento:');
   readln(S);
   if (S>='A') and (S<='Z') then
   J:=ord(S)-64
   else
    if (S>='a') and (S<='z') then
     J:=ord(S)-96;
  if J>M then
    writeln('numero de apartamento no valido')
 until (J<>0) and (J<=M);
   repeat
    writeln('ingrese el numero de residentes');
    readln(X[I,J]);
    if  (X[I,J]< 0) or (X[I,J]>10)then
    writeln('numero de habitantes no valido');
   until (X[I,J]>=0) and (X[I,J]<=10);
end;
until(OPC='n')or(OPC='N');
end.

___________________________________________________________________


program EDITORTEXTO;
uses wincrt;
const
N=10;
type
CAD=string[70];
L=array[1..N] of CAD;
var
TEXTON:CAD;
TEXTO:L;
CADENA,palabra1,palabra2,CADB,CADINS,PAL,PAL1,PALINS,PALINS1:CAD;
I,A,X,LINSERT,CB,IP,C,J:integer;
opcion2,opcion:char;
begin
 writeln('BIENVENIDO AL EDITOR DE TEXTO');
 writeln(' ');
 writeln ('insertar texto');
 for A:=1 to N do
 readln (TEXTO[A]);
 writeln;
repeat
 writeln ('elija una opcion');
 writeln;
 writeln ('1.- MODIFICAR TEXTO');
 writeln ('2.- CAMBIAR SUBCADENA O PALABRA');
 writeln ('3.- ELIMINAR');
 writeln ('4.- INSERTAR');
 writeln ('5.- SALIR');
 writeln (' ');
 writeln ('----ENRIQUE RODRIGUEZ C.I: 23497243----');
 writeln ('||INFORMATICA III VESPERTINO, IUTCM-MERIDA||');
 writeln;
 readln (opcion);
 case opcion of
 '1':
 begin
  for A:=1 to N do
  begin
   for A:=1 to N do
   begin
   IP:=1;
   while (IP<length(TEXTO[A])) do
   begin
   IP:=IP+1;
   if ((TEXTO[A][IP]=' ') and (TEXTO[A][IP+1]=' ')) then
    begin
     delete (TEXTO[A],IP,1);
     IP:=IP-1;
   end;
  end;
  end;
  I:=1;
 for A:=1 to N do
  for X:=1 to 2 do
  begin
  if ((TEXTO[A][1]=' ') or (TEXTO[A][1]='.')) then
   delete(TEXTO[A],1,1);
  if (TEXTO[A][length(TEXTO[A])]=' ') then
   delete(TEXTO[A],length(TEXTO[A]),1);
  for I:=1 to length(TEXTO[A]) do
   begin
   if ((TEXTO[A]='.') and (TEXTO[A][I-1]=' ')) then
    delete(TEXTO[A],(I-1),1);
   if ((TEXTO[A]='.') and ((TEXTO[A][I+1]>='a') or (TEXTO[A][I+1]<='z'))) then
     insert(' ',TEXTO[A],(I+1));
   end;
    begin
     for I:=1 to length(TEXTO[A]) do
     if ((TEXTO[A]>='A') and (TEXTO[A]<='Z')) or (TEXTO[A]='Ñ') then
     TEXTO[A]:= chr(ord(TEXTO[A])+32);
    end;
    begin
    for I:=1 to length(TEXTO[A]) do
    if ((TEXTO[A]='.') and (TEXTO[A][I+1]=' ') and ((TEXTO[A][I+2]>='a') or (TEXTO[A][I+2]<='z'))) then
     begin
     I:=I+2;
     TEXTO[A]:=chr(ord(TEXTO[A])-32);
     end;
    end;
    for I:= 1 to length(TEXTO[A]) do
    if ((TEXTO[A][1] >='a') and  (TEXTO[A][1] <='z')) or (TEXTO[A][1]='ñ') then
    begin
     TEXTO[A][1]:= chr(ord(TEXTO[A][1])-32);
    end;
 { while (IP<length(TEXTO[A])) do
   begin
    I:=I+1;
    if ((TEXTO[A]='.') and (TEXTO[A][I+1]=' ') and((TEXTO[A]>='a') or (TEXTO[A]<='z'))) then
    begin
     I:=I+2;
     if ((TEXTO[A]>='a') or (TEXTO[A]<='z')) then
      TEXTO[A]:=chr(ord(TEXTO[A])-32); }   {esta es la funcion de colcoar la letra despues del punto en mayuscula}
    end;
   end;
   for A:=1 to N do
   begin
   writeln(TEXTO[A]);
   writeln;
   end;
   writeln ('pulse una tecla para continuar');
 readkey;
  end;
'2':
 begin
  writeln ('INSERTE SUD-CADENA O PALABRA A CAMBIAR: ');
  writeln;
  begin
   writeln('Cadena a cambiar del texto:');
   readln(CADB);
   writeln ('cadena a insertar');
   readln (CADINS);
   I:=0;
   for A:=1 to N do
   begin
   while (pos(CADB,TEXTO[A])<>0) do
    begin
     I:=I+1;
     insert(CADINS,TEXTO[A],pos(CADB,TEXTO[A]));
     delete(TEXTO[A],pos(CADB,TEXTO[A]),(length(CADB)));
    end;
  writeln(TEXTO[A]);
 end;
 writeln;
 writeln ('pulse una tecla para continuar');
 readkey;
 end;
 end;
 '3':
 begin
  writeln ('Que desea hacer?');
  writeln;
  writeln ('A) ELIMINAR TEXTO');
  writeln ('B) ELIMINIAR SUB-CADENA O PALABRA');
  writeln;
  readln (opcion2);
  if ((opcion2='A') or (opcion2='a')) then
   begin
   for A:=1 to N do
    delete(TEXTO[A],pos(TEXTO[A],TEXTO[A]),(length(TEXTO[A]))+1);
   end;
 if ((opcion2='B') or (opcion2='b')) then
  begin
 writeln('ingrese Cadena o Palabra a borrar:');
 readln(CADB);
 I:=0;
 for A:=1 to N do
  while (pos(CADB,TEXTO[A])<>0) do
  begin
  I:=I+1;
  delete(TEXTO[A],pos(CADB,TEXTO[A]),(length(CADB)));
 end;
 writeln(TEXTO[A]);
end;
writeln;
writeln ('pulse una tecla para continuar');
 readkey;
 if ((opcion2<>'A') or (opcion2<>'a') or (opcion2<>'B')or (opcion2<>'b') or (opcion2<>'C') or (opcion2<>'c' )) then
 writeln ('opcion no valida');
 writeln ('pulse una tecla para continuar');
 readkey;
end;
 '4':
 begin
 for A:=1 to N do
 begin
 writeln('ingrese una opcion');
 writeln;
 writeln('A) INSERTAR LINEA');
 writeln('B) INSERTAR SUBCADENA O PALABRA');
 writeln;
 readln(opcion2);
  if (opcion2 ='A') or (opcion2 = 'a') then
  begin
   writeln;
  for A:=1 to N do
   begin
    if (length(TEXTO[A])=0) then
     begin
      writeln('INSERTE LINEA ',A);
      writeln('');
      readln(TEXTON);
      insert(TEXTON,TEXTO[A],length(TEXTO[A]));
     end;
    if (length(TEXTO[A])>0) then
     writeln('NO HAY ESPACIO DISPONIBLES EN LA LINEA ',A);
     writeln;
   end;
   writeln;
   writeln ('pulse una tecla para continuar');
   readkey
  end;
  if (opcion2 ='B') or (opcion2 = 'b') then
  begin
   writeln('EN CUAL LINEA DESEA INSERTAR (1 - 10)');
   writeln;
   readln(LINSERT);
   if (length(TEXTO[LINSERT])<55) then
    begin
     writeln('INSERTE PALABRA O SUB-CADENA ');
     writeln;
     insert(' ',TEXTO[LINSERT],length(TEXTO[LINSERT]));
     readln(TEXTON);
     insert(TEXTON,TEXTO[LINSERT],length(TEXTO[LINSERT]));
    end
   else
    writeln('no hay espacio disponible en esta linea, por favor inserte otra');
    X:=1;
  if (opcion2<>'A') or (opcion2<>'a') or (opcion2<>'B') or (opcion2<>'b') or (opcion2<>'C') or (opcion2<>'c') then
  begin
  end;
  end;
end;
writeln;
writeln ('pulse una tecla para continuar');
readkey
end;
end;
 until (opcion='5');
end.


En línea

noele1995

Desconectado Desconectado

Mensajes: 137



Ver Perfil
Re: como pasar estos ejercicios de pascal a c++
« Respuesta #1 en: 17 Octubre 2013, 12:53 pm »

Esperas que te lo traduzcamos? esto no va asi...
1- No te vamos a hacer el trabajo, traduce tu lo que puedas y si no sabes pues aprende c++ y ya te ayudaremos con dudas concretas...
2- Subforo equivocado este subforo no es ni de pascal ni de c++ sino de vb6 asique tampoco deberias haber posteado aqui...


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ejercicios Pascal
Ejercicios
Corso 2 76,829 Último mensaje 6 Diciembre 2005, 04:17 am
por Kpax
Como pasar estos formatos
Multimedia
amlop 1 2,098 Último mensaje 4 Enero 2008, 22:54 pm
por oscarabel
Corregidme estos ejercicios de sql « 1 2 »
Ejercicios
CrÄsH 19 13,525 Último mensaje 23 Abril 2009, 16:46 pm
por sempus
ayuda con estos ejercicios
Ingeniería Inversa
jgilberto 2 4,331 Último mensaje 2 Agosto 2009, 00:23 am
por tena
Ayuda ejercicios pascal
Ejercicios
steballys 1 3,935 Último mensaje 19 Marzo 2010, 22:47 pm
por Carloswaldo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines