Ir ao conteúdo
  • Cadastre-se

Ajuda com inteiros no C


RyST0k

Posts recomendados

Sou iniciante na arte de programar, por isso não consigo resolver um problema que me parece fácil, só não sei que comando usar.

Bem vamos ao problema; tenho o seguinte pedaço de código:

...

int numero1, numero2, numero3;

numero1=12;

numero2=13;

numero3= ? --aqui é que está minha dúvida, eu quero atribuir à numero3 o valor de numero1 junto com numero2. tipo uma aglutinação, quero que numero3 fique assim:

numero3=1213;

Eu vi um comando que faz isso com strings, que é o strcat, portanto eu queria saber como eu faço isso com inteiros. Se vocês souberem como eu faço isso com chars também será de grande ajuda.

Desculpem o modo "bizarro" de escrever o código, é que sou muuuuito iniciante. Valeu!

Link para o comentário
Compartilhar em outros sites

não, não é isso que eu quero fazer (até porque é bem óbvio e eu não sou tão ruim de matemática assim), mas valeu pela ajuda.

o que eu quero fazer é juntar dois inteiros ou dois chars, vou tentar dar mais uns exemplos:

...

int p,q,r;

char s,u,v;

p=2,

q=3;

s='e';

u='d';

r=porque //quero que r tenha o valor de p e q juntos, o que seria 23 (não é multiplicar 2 por 10 e somar 3, é juntar 2 à 3 formando 23)

v=us //isso eu acho que não dá, pois se eu juntar dois chars eu teria uma string, mas supondo que fosse possível (talvez seja) eu queria ter v=de.

como disse existe uma maneira de fazer isso com strings (strcat) quero saber se existe como fazer com inteiros e chars.

eu já fiz isso em php, mas agora não me lembro qual comando usei, mas sei que foi possível.

quem puder me dar uma mão eu agradeço!

Link para o comentário
Compartilhar em outros sites

Postado Originalmente por tabgal@03 nov 2004, 17:02

Acredite, isso que você quer fazer é meio inútil...

cara valeu por responder meu questionamento. eu sei que você é possivelmente mais experiente do que eu, mas não cometa o erro de julgar o todo pela parte. parece inútil olhando o exemplo que citei, mas onde pretendo usar terá um grande valor.

de qualquer forma obrigado, e se você souber como concatenar dois valores (inteiros ou chars) por favor me informe.

até a próxima!

Link para o comentário
Compartilhar em outros sites

Postado Originalmente por RyST0k@03 nov 2004, 18:46

é isso que quero fazer: como concatenar dois valores?

Isso não faz sentido em int, só faz sentido com strings...

Entende? Não existe a operação "concatenar" 2 ints porque isso não faz sentido matematicamente.

Converta pra string (usando sprintf) e daí concatene.

Link para o comentário
Compartilhar em outros sites

Postado Originalmente por tabgal+03 nov 2004, 18:52QUOTE (tabgal @ 03 nov 2004, 18:52) RyST0k@03 nov 2004, 18:46

é isso que quero fazer: como concatenar dois valores?

Isso não faz sentido em int, só faz sentido com strings...

Entende? Não existe a operação "concatenar" 2 ints porque isso não faz sentido matematicamente.

Converta pra string (usando sprintf) e daí concatene.

Link para o comentário
Compartilhar em outros sites

Postado Originalmente por tabgal@03 nov 2004, 19:08

É assim



char string1[20];
char string2[20];

string1 = strdup("123");
string2 = strdup("4567");

strcat(string1,string2);

valeu pela ajuda. mas vamos supor que eu esteja na seguinte cituação:


...
char string1[100];
strcpy (string1,"123654879845451235465768765465654");
...

suponha que eu queira separ os valores contidos em string1 de três em três e colocá-los em outras variáveis, tipo assim:

a variável string2 conter: 123

a variável string3 conter: 654

e assim por diante...

na verdade é isso que eu quero fazer: separar uma string (de números) com muitos elementos em várias strings de três elementos.

como eu faço isso?

Link para o comentário
Compartilhar em outros sites

Assim...

(tem que fazer na mão, não tem jeito)



char str1[] = "1234567890";
char str2[5],str3[5];

memcpy(str2,str1,3); // 3 caracteres
str2[3] = 0; // o 4o caracter deve ser igual a zero pra indicar o fim

memcpy(str3,str1,4); // 4 caracteres
str2[4] = 0; // o 4o caracter deve ser igual a zero pra indicar o fim

Link para o comentário
Compartilhar em outros sites

Bem e o seguinte, pelo o que eu entendi você tem em um programa três variaveis inteiras sendo elas int numero1, numero2 e numero3 e quer juntar em numero 3 as duas correto sendo um exemplo pratico

Não entendi o que quer fazer se não for isso me manda um e-mail que resolvo para você!!!

Sua saida na tela seria de:

Digite um valor para o 1º numero: 12

Digite um valor para o 1º numero: 34

A união dos numeros sera: 1234

É isso o que quer??? Se for vou colocar a meneira mais ***** de se fazer isso!!!

/* teste.c */

#include <stdio.h>

#include <stdlib.h>

main()

{

int numero1, numero2;

printf("Digite um valor para o primeiro numero: ");

scanf("%d",&numero1);

printf("Digite um valor para o segundo numero: ");

scanf("%d",&numero2);

printf("A uniao dos numeros em m terceiro e: %d%d \n",numero1,numero2);

system("pause");

return(0);

}

Bem se apenas quer unir os dois resultados em uma saida assim fica bem mais fácil, mais se quer transformar o numero1 e numero 2 do tipo o numero 1 sendo 12 e o numero 2 sendo 34 em um numero 3 1.234 dai você tera de usar outros atributos em sua função!!! Veja o que realmente precisa e poste novamente aqui!!!

Fallows e abraço tomara que eu tenha ajudado um poucquinho!!

Link para o comentário
Compartilhar em outros sites

estou postando aqui uma solução que encontrei. ela faz o seguinte: pega uma string formada por números, transformá-os em inteiros e separa-os de três em três.

se alguém tiver alguma dúvida com relação à esta solução, por favor poste aqui.


# include <iostream.h>
# include <string.h>

main()
{
  char string[40];
  int saida[14],aux[3],cont;

  strcpy (string,"123456789123456789123456789123456789123");

  for(cont=0;cont<strlen(string)
  {
   aux[0]=(int)string[cont]-48;
   aux[1]=(int)string[cont+1]-48;
   aux[2]=(int)string[cont+2]-48;

   saida[cont/3]=(aux[0]*100)+(aux[1]*10)+(aux[2]);
             cout<<saida[cont/3]<<endl;
   cont=cont+3;
  }


  return(0);
}

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...