Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Leitura de inteiros


Alan Vasconcelos

Pergunta

3 respostass a esta questão

Posts Recomendados

  • 0

Olá crie dois vetores C e N crie um laco for e jogue os valores digitados na posição atual do laco.

Exemplo:

int vetor_c[6];

int vetor_n[6];
int i;/*Variavel de controle de laco*/
for(i=0; i<3; i++){
printf("Digite os valores do vetor C:");
scanf("%d", &vetor_c);

printf("Digite os valores do vetor N:");
scanf("%d", &vetor_n);
Agora com relacão ao espaço '\ 0' não é possível colocar um caractere em um vetor de inteiros.
Editado por Barao
Link para o comentário
Compartilhar em outros sites

  • 0

Adaptando o código de Barão, te preparei esse exemplo:

#include <stdio.h>

int main () {
    int vetor_n[6];
    int i;
    
    printf ( "Digite os valores do vetor N:" );
    for ( i = 0; i < 3; i++ ) {
        scanf ( "%d", &vetor_n[i] );
    }
    
    printf("%d\n", vetor_n[0]);
    printf("%d\n", vetor_n[1]);
    printf("%d\n", vetor_n[2]);
    
    getchar();
    return 0;
}

Agora já pode por 3 inteiros de forma consecutiva separadas por espaços como você quer. O problema reside que só esta preparado para ler 3 enteiros, porem é facilmente modificável si assim desejar aumentando el valor 3 dentro do loop for, que é a condição de limite de execuções, para que execute mais vezes.

Ao ler os dados mesmo que os separe por espacio, eles irão se armazenando no buffer de entrada como letras, é justo no memento que você pulsar enter que tudo o que esta no buffer se vaia "encaixando" no seu lugar, devido que scanf só lê até encontrar um espaço, tabulador ou a tecla enter, cada vez que o bucle se execute scanf vai vaziando o que esta entre espaço e espaço e o irá metendo no vetor.

Também podemos modificar tudo isso para que quando escanf encontre por exemplo um valor como -1, queira dizer que queremos deter a toma de números, porem não sei si isso te interessa. A solução apresentada só lê um numero fixo de inteiros, e podemos querer ler uma quantidade variável de valores inteiros. Si precisar ler uma quantidade que varie avise, e o modificamos.

A solução proposta serve para ambos problemas más si não servir para o primeiro comente aqui o faremos algo melhor. de todas formas você pode usar

scanf("%d-%d", &n1, &n2); para ler 2 inteiros separados por '-' e é só trocar isso pelo espaço, ou outra letra qualquer.

Sorte

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...