Ir para conteúdo

POWERED BY:

Arquivado

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

Talles Santana

[Resolvido] inserir entrada via teclado em int []

Recommended Posts

Preciso saber como capturar uma entrada via teclado(pode ser arquivo tb) e colocar cada caracter em uma posição de um int []. por exemplo.

entrada: 901

vetor[0] = 9

vetor [1] = 0

vetor[2]= 1

 

Bem já procurei, tentei usando conversão de char para int, de char* para char[1] para int, mas não consegui. Se alguém souber eu fico grato, pode ser em C ou C++.

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Preciso saber como capturar uma entrada via teclado(pode ser arquivo tb) e colocar cada caracter em uma posição de um int []. por exemplo.

entrada: 901

vetor[0] = 9

vetor [1] = 0

vetor[2]= 1

 

Bem já procurei, tentei usando conversão de char para int, de char* para char[1] para int, mas não consegui. Se alguém souber eu fico grato, pode ser em C ou C++.

[]'s

 

Você conhece argc e argv[] ? No caso se na linha de programa for digitado: "nome_programa" 901, os valores estarão em argv[1] só q argv[1] = 901 não sei como separar cada algarismo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Preciso saber como capturar uma entrada via teclado(pode ser arquivo tb) e colocar cada caracter em uma posição de um int []. por exemplo.

entrada: 901

vetor[0] = 9

vetor [1] = 0

vetor[2]= 1

 

Bem já procurei, tentei usando conversão de char para int, de char* para char[1] para int, mas não consegui. Se alguém souber eu fico grato, pode ser em C ou C++.

[]'s

 

Se entendi a sua duvida, voce pode fazer um loop que vai pegando um caracter de cada vez e atribuindo a cada posição do vetor..dai na hora de imprimir na tela faz o inverso

 

E sobre separar os numeros viciado, se por exemplo o numero tem 4 caracteres (1234), se quisesse por exemplo pegar o numero "1", é só dividir o valor por 1000 (1234/1000 = 1,234), dai em C ele pega o resultado da divisao inteira, no caso o "1", entao podera atribuir este numero a uma var

Se quisesse por exemplo no mesmo caso pegar o "234", dai teria que fazer uma divisao pra pegar o RESTO da divisao, parece que ao inves de usar a barra normal (/), tem que usar a barra invertida (\)...acho que nao fui muito claro (olha q hs sao...sonooo), em caso negativo pode perguntar que falo denovo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nesse caso nem é preciso fazer muitas contas...

 

    
    fgets(stdin, buff);
    for (i=0; i<strlen(buff); i++)
        ibuff[i] = buff[i] - '0';

Onde buff é um char*, ibuff é um int* e i é um size_t.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui via teclado desse jeito aqui:

int main(void)
{
    
int d;
string strin;
char palavra[]={}; 
char letra;
cout<<"Entre com o numero"<<endl;
cin>>palavra;
int n = strlen(palavra);
 int* vet = new int [d];
 for (int i = 0; i < strlen(palavra); i++){
 letra=palavra[i];
 strin = letra;
 vet [i] = (int)(atoi(strin.c_str() ));
}

Embora tenha ficado bizonho, funciona. Existe alguma função StringToInt da vida?

Depois eu tento via arquivo, no final vou precisar que seja via arquivo mesmo =(

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.