Ir para o conteúdo
yOURsELF

Juntar (append) numeros inteiros

Mensagens Recomendadas

yOURsELF    0
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

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
saramgsilva    2
saramgsilva

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

fazes tipo 117*100+14...  nesse sentido!!!  :thumbsup:

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
vbmaster    5
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:

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
saramgsilva    2
saramgsilva

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:

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
neon_prannock    0
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.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
yOURsELF    0
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()'.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
vbmaster    5
vbmaster

duma stringstream? isso é muito diferente duma string?

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

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
brink@ero    0
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';

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade