Jump to content

Juntar (append) numeros inteiros


yOURsELF
 Share

Recommended Posts

è 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...  👍

Link to comment
Share on other sites

neon_prannock

A ideia da tofas funcionaria, mas seria perciso fazer uma fórmula para avaliar o tamanho do segundo numero, o que iria meter 10^n e tal. Mas se for necessáro manipular os numeros essa seria a maneira correcta.

Agora a maneira do vbmaster é a mais pratica so para aquela questão.

Link to comment
Share on other sites

Obrigado pessoal 👍

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()'.

Link to comment
Share on other sites

è 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... 👍

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';
Link to comment
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
 Share

×
×
  • 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.