Alan Vasconcelos Postado Junho 11, 2015 Denunciar Share Postado Junho 11, 2015 Galera eu preciso fazer o seguinte: ler dois números C e N na mesma linha, ate ai tranquilo. Na próxima linha ler N numeros separados por um espaço. Ex: 12 3 2 8 11 minha dúvida é como colocar esses valores em um vetor. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Barao Postado Junho 12, 2015 Denunciar Share Postado Junho 12, 2015 (editado) 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 Junho 15, 2015 por Barao Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 vangodp Postado Junho 12, 2015 Denunciar Share Postado Junho 12, 2015 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Alan Vasconcelos Postado Junho 15, 2015 Autor Denunciar Share Postado Junho 15, 2015 Valeu galera, consegui resolver meu problema. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Alan Vasconcelos
Galera eu preciso fazer o seguinte: ler dois números C e N na mesma linha, ate ai tranquilo. Na próxima linha ler N numeros separados por um espaço.
Ex:
12 3
2 8 11
minha dúvida é como colocar esses valores em um vetor.
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
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.