Alz 0 Denunciar post Postado Janeiro 5, 2014 Boa tarde pessoal, Sou novo no fórum e novo em programação em linguagem C, achei muitos sites bons que estão me ajudando muito a aprender e um deles e esse. Como eu disse estou aprendendo a programar em linguagem C e acabei me deparando com uma dúvida... Seguinte... Gostaria de saber como preencher os elementos de um vetor sem precisar escrever com "scanf" e como fazer o vetor começar com 1 em vez de 0. Eu gostaria de fazer um painel de senha para saber a sua vez na fila, porém não é certo o usuário do programa escrever até 200 para definir as senhas. tentei fazer isso: int v[10]; for (x=1; x<=10; x++){ v[x] = x; } Pois não funcionou. Desde já agradeço. Compartilhar este post Link para o post Compartilhar em outros sites
guidjos 65 Denunciar post Postado Janeiro 5, 2014 Os elementos de vetores são referenciados por ponteiros. Um ponteiro para o primeiro elemento de V é V + 0, ou, simplesmente, V. O segundo elemento é V + 1; o terceiro, V + 2, e assim por diante. Os colchetes simplesmente determinam uma soma entre os dois valores, seguida de um "dereferencing" do resultado. Ou seja: a expressão V[x] é equivalente a *(V + x). Chamamos os valores entre colchetes de "índices", e é por isto que dizemos que o primeiro elemento de um vetor de n elementos tem índice 0, e o último, (n - 1). Os índices de V vão, então, de 0 a 9. Compartilhar este post Link para o post Compartilhar em outros sites
Alz 0 Denunciar post Postado Janeiro 6, 2014 Muito obrigado Guidjos, Fiz alguns testes usando sua explicação consegui fazer o que eu queria... que era começar o primeiro vetor imprimindo 1 o segundo vetor 2 e assim por diante. Fim assim: #include <stdio.h> #include <stdlib.h> int main() { int v[11]; // já que o primeiro vetor = 0 fiz ele ir até 11. int x; x=1; for (x=1; x<11; x++){ v[x] = x; printf ("Leia o Vetor %i\n", v[x]); } system ("pause"); return 0; } Deu perfeito o resultado. Muito obrigado! Vou ver se compro um livro de linguagem C para aprender um pouco mais e usar bastante o fórum para tirar duvidas e mais pra frente ajudar que tiver iniciando e trocando ideias... até mais. Compartilhar este post Link para o post Compartilhar em outros sites
guidjos 65 Denunciar post Postado Janeiro 7, 2014 Sem problema. Só uma sugestão: use os índices de 0 a 9 pra não desperdiçar um elemento. No seu exemplo, o índice 0 é criado à toa. Sugiro que você leia o K&R 2. Pode postar quando tiver dúvidas! Abs Compartilhar este post Link para o post Compartilhar em outros sites