Jump to content
Fórum Script Brasil
  • 0

(Resolvido) Leitura de inteiros


Alan Vasconcelos
 Share

Question

3 answers to this question

Recommended Posts

  • 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.
Edited by Barao
Link to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Forum Statistics

    • Total Topics
      149.8k
    • Total Posts
      646.6k
×
×
  • Create New...