Dev - C++ - necesito ayuda con urgencia xfa

 
Vista:

necesito ayuda con urgencia xfa

Publicado por paola (2 intervenciones) el 05/06/2007 13:06:54
hola, tengo dificultades con este problema recien empiezo con el curso y bueno tengo ciertos incovenientes espero reciba respuesta, aqui el problema:

se debe ingresar un numero de 'n' cifras y dos de una sola cifra estos dos representan las posiciones inicial y final respectivamente solo los numero que se encuentren en este rango deberan cambiar de posicion.

ejm:
numero: 159764823
posicion inicial: 4
posicion final: 7
numero nuevo: 159846723
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:necesito ayuda con urgencia xfa

Publicado por DeeP (1 intervención) el 19/06/2007 00:01:04
Aqui te va...

#include <iostream.h>
#include <math.h>
/**Programa que intercambia digitos de acuerdo a su posicion**/

void main()
{
int num, pi, pf;
int aux;
cout<<"Numero: ";
cin>>num;
aux=num;
cout<<"Posicion Inicial: ";
cin>>pi;
cout<<"Posicion Final: ";
cin>>pf;
int i;
for(i=0; aux>10; i++)
{
aux=aux/10;
}
i=i+1;//digitos del numero
int j,k,p1,p2,t;
aux =num;
for(j=0; j<=i-pi; j++) //Obtine primera posicion
{
t=aux%10;
aux=aux/10;
}
p1=t;
cout<<"Posicion 1: "<<p1;
aux =num;
for(k=0; k<=i-pf; k++)//Obtiene segunda posicion
{
t=aux%10;
aux=aux/10;
}
p2=t;
cout<<endl;
cout<<"Posicion 2: "<<p2<<endl;
double aux2 = num;
double newnum, cant1, cant2;
cant1 = p1 * int(pow(10,i-pi));
cant2 = p2 * int(pow(10,i-pf));
aux2= aux2 - cant1 - cant2;
cant1 = p2 * int(pow(10,i-pi));
cant2 = p1 * int(pow(10,i-pf));
newnum= aux2 + cant1 + cant2;
cout.setf( ios::dec);
cout<<"El nuevo numero es: "<<newnum<<endl;

}

Espero y este a tiempo sino pues queda de recuerdo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:necesito ayuda con urgencia xfa

Publicado por DeeP (1 intervención) el 19/06/2007 15:51:38
En la línea

cout.setf( ios::dec);

para que no aparesca en formato cientifico poner:

cout.setf( ios::fixed);

Con esto se evitan numeros cientificos con ´e', pero agrega ceros flotantes, no encontre otra forma de salida si alguien sabe igual que nos ayude.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar