Jump to content
Sign in to follow this  
yOURsELF

Juntar (append) numeros inteiros

Recommended Posts

yOURsELF

Alguém me sabe dizer como posso fazer isto ?

por exemplo tenho dois int's:  117 e 14... queria que o resultado fosse outro int igual a 11714

Share this post


Link to post
Share on other sites
vbmaster

è uma hipótese tofas, mas não convém se for para todos os números, vais ter de recebê-los como char (é melhor acho eu)

do tipo

#include <iostream>
using namespace std;

int main () {
char ch;
int i;
char numero[82];
cout << "Insira os dois numeros com espaço entre eles" << endl;
for (i = 0; (ch = cin.get ()) != '\n'; ++i)
if (!isspace(ch)) numero[i]=ch;
else --i;
for (i = 0; i <= strlen(numero); ++i) cout << numero[i];
return 0;} 

sim eu sei...mas so dei a ideia....

agora se quiser kiser manipular esses numeros...nao sei se é boa ideia a tua...mas claro...boa nota pros juntar...  :thumbsup:

Share this post


Link to post
Share on other sites
yOURsELF

Obrigado pessoal :thumbsup:

Só mais uma dúvidazinha: tenho aqui um ciclo que vai juntando caracter a caracter numa stringstream. O que eu queria saber é como remover o último caracter duma stringstream, como tipo em vectores que é 'v.pop_back()'.

Share this post


Link to post
Share on other sites
vbmaster

duma stringstream? isso é muito diferente duma string?

para saberes o último cartacter ocupado na string é só fazer strlen(string) - 1

Share this post


Link to post
Share on other sites
yOURsELF

error C2039: 'strlen' : is not a member of 'std::basic_stringstream<_Elem,_Traits,_Alloc>'  :thumbsup:

Share this post


Link to post
Share on other sites
brink@ero

è uma hipótese tofas, mas não convém se for para todos os números, vais ter de recebê-los como char (é melhor acho eu)

do tipo

#include <iostream>
using namespace std;

int main () {
char ch;
int i;
char numero[82];
cout << "Insira os dois numeros com espaço entre eles" << endl;
for (i = 0; (ch = cin.get ()) != '\n'; ++i)
if (!isspace(ch)) numero[i]=ch;
else --i;
for (i = 0; i <= strlen(numero); ++i) cout << numero[i];
return 0;}

sim eu sei...mas so dei a ideia....

agora se quiser kiser manipular esses numeros...nao sei se é boa ideia a tua...mas claro...boa nota pros juntar... :thumbsup:

Outra maneira muito mais simples, intuitiva e sem ciclos é esta:


int a=215421, b=16464;
char numero[100];

// dois numeros numa string:
sprintf(numero,"%d%d",a,b);

Porque não fazes isso como vector de char?

Se fizesses isso seria assim dentro do ciclo:

// retira a dimensao
n=strlen(numero);
// guarda o valor
pop=numero[n - 1];
// apaga o numero
numero[n - 1]='\0';

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.