Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: LuisUvtol en 4 Mayo 2020, 17:05 PM

Título: ¿Como dejar espacios en un int?
Publicado por: LuisUvtol en 4 Mayo 2020, 17:05 PM
Hola a todos, necesito ayuda con este pequeño problema, se que es muy sencillo pero no he encontrado la manera de resolverlo, ¿Como puedo dejar una coma en una variable int? les dejo mi codigo para que me entiendan mejor:
Código (cpp) [Seleccionar]
cout << "Ingrese las listas: ";
cin.ignore();
cin.getline(lista,200,'\n');       //Guardo mi lista
char *token = strtok(lista, delimitador); //Tokenizo mi lista
while (token != NULL){
int eje;
//int espacio = ;
eje = atoi(token); //Convierto mi token a int
int a[] = {eje};    //Guardo en mi variable a

token = strtok(NULL, delimitador);
cout<<*a;                      //Imprimo mi variable a, si mi lista es: 2,3,4,5 me imprime 2345
} //Me gustaria que me imprimiera 2,3,4,5 ¿Como puedo hacerlo?


Intente haciendo esto: int[a]={eje,}, pero no servio, esta pensando en guardar un int = ,; pero se que esto no funciona :( ayuda por favor! Gracias
Título: Re: ¿Como dejar espacios en un int?
Publicado por: ThunderCls en 4 Mayo 2020, 18:00 PM
Una variable "int" solo puede almacenar valores numericos, el caracter "," evidentemente no lo es por lo que tu intento no es valido. Por otra parte puedes hacer algo como esto

Código (cpp) [Seleccionar]
#include <iostream>
#include <cstring>

int main()
{
    char lista[200] = {0};
    const char *delimitador = ",";
   
    std::cout << "Ingrese las listas: ";
    std::cin.getline(lista, 200);
    char *token = strtok(lista, delimitador);
    while (token != NULL)
    {
        std::cout << atoi(token) << ",";
        token = strtok(NULL, delimitador);
    }
   
    std::cout << "\b" << " ";
}


Saludos