Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Concatenar enteros ¿es posible?

Estas en el tema de Concatenar enteros ¿es posible? en el foro de C/C++ en Foros del Web. ¿es posible hacer algo asi? Int n1=1,n2=2,n3; n3= n1 concatenado con n2; // n3 = 12 ¿como se hace?...
  #1 (permalink)  
Antiguo 08/03/2008, 18:22
 
Fecha de Ingreso: octubre-2006
Mensajes: 11
Antigüedad: 17 años, 6 meses
Puntos: 0
Concatenar enteros ¿es posible?

¿es posible hacer algo asi?

Int n1=1,n2=2,n3;
n3= n1 concatenado con n2; // n3 = 12

¿como se hace?
  #2 (permalink)  
Antiguo 09/03/2008, 07:47
 
Fecha de Ingreso: agosto-2005
Mensajes: 34
Antigüedad: 18 años, 9 meses
Puntos: 0
Re: Concatenar enteros ¿es posible?

No es posible contatenar enteros directamente como las cadenas de caracteres (char*)

Pero es posible utilizar un artificio para ello:

int n1=1,n2=2,n3=3;
int num = n1*100 + n2*10 + n3; // num = 123
__________________
Recursos Visual C++
  #3 (permalink)  
Antiguo 09/03/2008, 17:31
 
Fecha de Ingreso: mayo-2006
Ubicación: Venezuela
Mensajes: 33
Antigüedad: 18 años
Puntos: 0
Re: Concatenar enteros ¿es posible?

podrias usar un artificio mas complejo, lo quizas, pero valido:

Int n1=1,n2=2,n3;
char aux="";
strcat(aux,itoa(n1)); // concateno lo q hay en n1 (convertido en char) a aux
strcat(aux,itoa(n2)); // concateno lo q hay en n2 (convertido en char) a aux
n3=atoi(aux); // saco lo que tenia el aux


saludos, espero que funcione, lo hice sin probarlo :P
  #4 (permalink)  
Antiguo 09/03/2008, 18:00
 
Fecha de Ingreso: octubre-2006
Mensajes: 11
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: Concatenar enteros ¿es posible?

Gracias por responder. Supongo que lo que buscaba era algo como la función atoi, que desconozco, ya tengo algo para buscar.
Ivancap, también agradezco tu respuesta pero me temo que no es válida, ya que es un código muy limitado, el int n1=1,n2=2; era un ejemplo simple, pero tu código no serviría para int n1=123,n2=123; por ejemplo :P
  #5 (permalink)  
Antiguo 10/03/2008, 22:32
 
Fecha de Ingreso: marzo-2008
Mensajes: 5
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Concatenar enteros ¿es posible?

Lo q Ivancap propone esta bien, pero tendrias q ampliarlo un poco. Yo lo haria asi: concatenando de a pares de numeros, y multiplicando el primero por 10^n, siendo n el numero de cifras del segundo, y sumandolos.
Acá te paso el codigo para 2 numeros, anda bien:

Código:
#include<iostream.h>
using namespace std;
void main()
{
        int n1,n2;
        cout<<"Ingrese el primer numero: ";
        cin>>n1;
        cout<<"Ingrese el segundo numero: ";
        cin>>n2;
        int c=0;
        float r;
        do{
             c++;
             r=n2/(pow(10.0,c));
        }while(r>=1);
        int cat=n1*pow(10,c)+n2;
        cout<<"Concatenado: "<<cat<<endl;//si queres hacerlo con mas numeros   
        //por ejemplo 3,solamente repeti el proceso, con cad y n3
        system("Pause");
        return 0;
}
Acordate solamente que la suma de las cifras de los numeros no puede ser mayor a 10, ya que ese es el maximo de cifras que puede albergar un dato de tipo int.
Saludos!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:09.