Sim muito bom, eu tbm estou na faculdade tentando fazer um triangulo de pascal em c, usando vetor, esse post esta me ajudando, se souber de algo q posssa me ajudar mais ! :)
15 de novembro de 2013 às 08:41
Anônimo disse...
Olá achei Ótima a explicação, é um ótimo material, no entanto tenho uma duvida: porque no primeiro programa foi necessário declarar o índice e no segundo não?
Boas, estou a criar um jogo de blackjack(21), tenho que usar arrays(vetores) mas não estou a conseguir fazer que as cartas saiam no máximo 4 vezes, eu sei que tenho que os verificar para poder fazer isso mas não sei como o fazer, será que você poderia me dar uma luz?
5 de março de 2014 às 09:58
Stefan disse...
Este site me ajuda muito. Parabéns pelo site tão bom. Tanto conteúdo e tão bem explicado. Muito obrigado.
10 de março de 2014 às 20:24
Tina disse...
Muito bom! Obrigada.
18 de março de 2014 às 10:56
Felipe disse...
Ótimo post, ajudou bastante, valeu!
8 de maio de 2014 às 08:17
Anônimo disse...
Gostaria de saber como fazer para ficar incrementando o valor do vetor, tipo v[i], sendo que i++; No caso sempre vai dar um brake. Tento resolver assim quando em uma questão diz que ele vai ficar digitando numeros até ele digitar um certo número e parar. Como fazer?
Gostaria de saber como fazer para ficar incrementando o valor do vetor, tipo v[i], sendo que i++; No caso sempre vai dar um brake. Tento resolver assim quando em uma questão diz que ele vai ficar digitando numeros até ele digitar um certo número e parar. Como fazer?
Você pode utilizar seu i como o identificador da posição sentro de um FOR por exemplo. o mesmo i que controla o loop vc coloca vetor[i] que o proprio for se encarrega de incrementar e assim vai pegando os elementos seguintes.
for(indice=0 ; indice <= 2 ; indice++) { printf("Entre com o numero %d: ", indice+1); scanf("%d", &number[indice]); //por que usando o indice par adicionar o numero digitado dentro do numbeR? }
Um botão deve somar 1 no display. Outro botão deve subtrair 1 no display. O terceiro botão vai armazenar o elemento em um vetor. O quarto botão vai apresentar todos os números em ordem crescente.
Neste caso, como armazenar o valor em um vetor (em C)? E como apresentar os valores salvos em ordem crescente?
Gente, alguém me ajuda com uma programação. Eu não tenho ideia de como fazer. Ta aí:
Faça um programa que carregue 3 vetores com 5 posições cada um. O 1º vetor receberá os nomes de 5 funcionários. o 2º vetor receberá os salários dos 5 funcionários. Já o 3º vetor receberá a quantidade de anos que cada funcionário trabalha na empresa. Mostre um 1º relatório apenas com os nomes dos funcionários que não terão aumento. Mostre um 2º relatório apenas com os nomes e os novos salários dos funcionários que terão aumento. Sabe-se que os funcionários que terão direito ao aumento são aqueles que possuem tempo de serviço superior a 5 anos ou salário inferior a 200 reais. Sabe-se, ainda, que se o funcionário satisfizer as 2 condições acima (tempo de serviço e salário) o aumento será de 35%; para o funcionário que satisfizer apenas a condição de tempo de serviço, terá um aumento de 25%; e para o funcionário que satisfizer apenas a condição de salário, o aumento será de 15%.
Por exemplo: Um numero composto pelos dígitos 1735135-5 são dividido da seguinte forma para atender aos requisitos da atividade: 12 para o valor de X, 34 como tamanho do vetor, e 5 como sendo a quantidade de valores do vetor a serem exibidos. O programa deve utilizar basicamente laços de repetição para preencher e exibir os valores do vetor,Após o vetor estar preenchido, o programa deve permitir que uma quantidade de valores do vetor preenchido seja exibida na tela, sendo esta quantidade determinada pelo quinto dígito de seu numero.
Dando início a mais uma importante unidade em nosso curso
online e gratuito de C, vamos iniciar nossos estudos sobre as estruturas de
dados.
Neste artigo inicial da seção de vetores de nossa apostila, vamos estudar o tipo de estrutura de dado mais simples: os vetores, também conhecidos por arrays.
Leia esse conteúdo Offline: Apostila C Progressivo
O que é um vetor em C... E para quê serve?
A contagem dos índices começa sempre do 0
Embora tenhamos declarado as variáveis com um nome, elas
não podem ter um mesmo nome. Por isso, um número é associado ao seu nome.
No caso da idade[10],
as variáveis inteira são:
idade[0], idade[1], idade[2], ..., idade[9]
Isso mesmo, o primeiro elemento é sempre o zero.
Por isso as lições do curso C Progressivo começam do
número 0.
Por isso as questões começam da questão de número 0.
Mais uma vez, isso é muito básico e importante: a
contagem, em linguagem C, começa do 0.
No caso das notas[50],
as variáveis do tipo float são:
notas[0], notas[1], notas[2], ... , notas[48] e notas[49]
Então, se uma variável tem ‘n’ elementos, seus índices
variam, sempre, de 0 até n-1,
totalizando ‘n’ elementos.
Como usar acessar os elementos de um vetor em C
Declaramos várias variáveis com o mesmo nome, mas como se
referir, individualmente, a cada uma delas?
A resposta é simples: usando números, ou índices.
'notas' é um vetor de floats.
Se quiser usar um tipo float, use a seguinte sintaxe:
nome[indice]
Então, suas variáveis, de forma independente, são
chamadas de: notas[0]. notas[1], notas[10] etc.
Esses serão seus nomes. Você pode usar como usaria as
variáveis (na verdade elas são variáveis, como se tivessem sido declaradas manualmente),
por exemplo:
Armazenar a nota de um aluno que tirou 10
nota[10]= 10.0 //esse programa em C
Somar a nota de dois alunos:
float soma = nota[3] + nota[4];
Incrementar:
nota[5]++;
Enfim, pode fazer tudo. São variáveis do tipo float
normais.
A diferença é que os nomes das variáveis têm números, que
são chamados, em programação, de índice, que são criados automaticamente quando
você declara um bloco de vários elementos (vulgo vetores, ou arrays).
Como de costume, para fixar melhor, vamos aos exemplos de
código!
Exemplo 1: Faça um programa que peça 3 números
inteiros ao usuário, armazene em um vetor, depois mostre o valor de cada
elemento do vetor, assim como seu índice.
Primeiro declaramos um vetor de inteiros, contendo
3 elementos:
int numbers[3];
Agora vamos pedir pro usuário preencher esses três números.
Lembre-se que você é programador e sabe que os
índices vão de 0 até 2.
Mas o usuário não. Pro leigo, é número 1, número 2
e número 3, não inicia no 0.
No laço for, o nosso 'indice' vai de 0 até 2.
Porém, ao recebermos o valor de índice 'indice',
estamos pedindo ao usuário o valor do número 'indice+1'.
Por exemplo, para armazenar um valor no 'number[0]',
vamos pedir o número '0+1' ao usuário.
Para armazenar um valor no 'number[1]', vamos
pedir o número '1+1' ao usuário.
Para armazenar um valor no 'number[2]', vamos
pedir o número '2+1' ao usuário.
Usaremos outro laço for para exibir o valor dos números, através dos índices, que variam de 0 até 2.
Porém, novamente, temos que mostrar 1 ao 3 pro
cliente, pois pra ele não faz sentido 'número 0 -> valor 10 ' e sim 'número
1 -> valor 10'.
Então, nosso código em C fica:
#include <stdio.h>
int main()
{
int number[3],
indice;
for(indice=0 ; indice <= 2 ; indice++)
{
printf("Entre com o numero %d: ", indice+1);
scanf("%d", &number[indice]);
}
for(indice=0 ; indice <= 2 ; indice++)
printf("Numero %d = %d\n", indice+1, number[indice]);
}
Exemplo: Faça um programa em C que peça ao usuário duas notas que ele tirou e mostre a média. Use vetores! Aliás, use somente um vetor para essas três variáveis.
Se não fosse pelo uso do vetor, você faria esse exemplo com o pé nas costas e dançando salsa.
Mas tem que usar um vetor.
Vamos declarar um vetor de float de três elementos.
Nas duas primeiras posições armazenamos as notas do usuário (nota[0] e nota[1]), e na terceira posição (nota[2]) armazenaremos a média (nota[0] + nota[1])/2.
Veja como ficou nosso código C:
#include <stdio.h>
int main()
{
float notas[3];
printf("Insira sua primeira nota: ");
scanf("%f", ¬as[0]);
printf("Insira sua segunda nota: ");
scanf("%f", ¬as[1]);
notas[2] = (notas[0] + notas[1])/2;
printf("Sua media e: %.2f\n", notas[2]);
}
Sim, muito simples. São simplesmente variáveis normais, a diferença é que são várias delas.
É até mais fácil trabalhar com vetores do que com variáveis declaradas manualmente, por conta dos índices.
Afinal, números tem uma ordem lógica, já os nomes que damos as variáveis não.
Até fazemos uma ressalva, evite usar variáveis como: a, b, c, x, y, i, j... ou a primeira letra que você encontrou.
Use 'linha', 'coluna', 'indice', 'contador', 'count', 'media', 'nota', 'continuar' etc, como fizemos aqui.
Pode parecer perda de tempo usar uma variável com nome tão grande. Mas é porque ainda estamos estudando.
Quando você for profissional e já tiver feito programa com milhares de linhas de código, ficará impossível entender o que é sopa de letras que você usou como nome de variáveis.
Mas se tiver usado nomes que façam sentido, você e outros programadores também entenderão de maneira mais simples.
Não é um conselho, é um diferencial.
postado por Programação Progressiva às 20:47 em 3 de mar. de 2013
33 Comentários
Fechar esta janela Ir para formulário de comentárioGostei da explicação. Estou vendo vetores na faculdade e esse post me ajudou bastante.
Obrigado.
4 de outubro de 2013 às 06:35
Muito Obrigado !!!!
27 de outubro de 2013 às 15:22
Também estou vendo na faculdade, e está chegando a semana de provas, seu post foi MUITO BOM, ajudou MUITO.
Apesar de talvez ser simples para alguns somente com metodologias como esta que se tornam compreensíveis para todos (ou quase).
PS: Você que está lendo isso, não desista do seu sonho!!!
15 de novembro de 2013 às 06:42
Sim muito bom, eu tbm estou na faculdade tentando fazer um triangulo de pascal em c, usando vetor, esse post esta me ajudando, se souber de algo q posssa me ajudar mais ! :)
15 de novembro de 2013 às 08:41
Olá achei Ótima a explicação, é um ótimo material, no entanto tenho uma duvida: porque no primeiro programa foi necessário declarar o índice e no segundo não?
18 de novembro de 2013 às 09:11
Muito bom!!
12 de dezembro de 2013 às 05:21
Muito bom. Me ajudou bastante.
26 de fevereiro de 2014 às 20:32
Boas, estou a criar um jogo de blackjack(21), tenho que usar arrays(vetores) mas não estou a conseguir fazer que as cartas saiam no máximo 4 vezes, eu sei que tenho que os verificar para poder fazer isso mas não sei como o fazer, será que você poderia me dar uma luz?
5 de março de 2014 às 09:58
Este site me ajuda muito. Parabéns pelo site tão bom. Tanto conteúdo e tão bem explicado.
Muito obrigado.
10 de março de 2014 às 20:24
Muito bom! Obrigada.
18 de março de 2014 às 10:56
Ótimo post, ajudou bastante, valeu!
8 de maio de 2014 às 08:17
Gostaria de saber como fazer para ficar incrementando o valor do vetor, tipo v[i], sendo que i++; No caso sempre vai dar um brake. Tento resolver assim quando em uma questão diz que ele vai ficar digitando numeros até ele digitar um certo número e parar. Como fazer?
3 de junho de 2014 às 12:44
Gostaria de saber como fazer para ficar incrementando o valor do vetor, tipo v[i], sendo que i++; No caso sempre vai dar um brake. Tento resolver assim quando em uma questão diz que ele vai ficar digitando numeros até ele digitar um certo número e parar. Como fazer?
Você pode utilizar seu i como o identificador da posição sentro de um FOR por exemplo. o mesmo i que controla o loop vc coloca vetor[i] que o proprio for se encarrega de incrementar e assim vai pegando os elementos seguintes.
26 de junho de 2014 às 07:11
Como faço pra declarar um vetor de diferentes tipos de dados nele ?
24 de julho de 2014 às 06:02
Show de bola comandante.
13 de outubro de 2014 às 18:08
Ficou muito bom
16 de março de 2015 às 07:12
o meu ultimo ficou assim :D
#include
int main()
{
int nota[2],i,soma;
for (i=0;i<=1;i++)
{
printf("informe a %i nota:",i+1);
scanf("%i",¬a[i]);
soma = soma + nota[i];
}
soma = soma/2;
printf("a media eh de: %i",soma);
}
se bem que gostei muito dessa ultima forma , armazena logo direto, sem laços e nada, bem pratico e limpo :D
adoro esse site!
6 de maio de 2015 às 19:20
ótima aula!
7 de junho de 2015 às 12:41
Muito boa esta aula, ajudou imenso.
3 de julho de 2015 às 03:07
Estou com duvida poderia me ajudar?
#include
int main()
{
int number[3],
indice;
for(indice=0 ; indice <= 2 ; indice++)
{
printf("Entre com o numero %d: ", indice+1);
scanf("%d", &number[indice]);
//por que usando o indice par adicionar o numero digitado dentro do numbeR?
}
for(indice=0 ; indice <= 2 ; indice++)
printf("Numero %d = %d\n", indice+1, number[indice]);
}
15 de julho de 2015 às 13:58
Um botão deve somar 1 no display.
Outro botão deve subtrair 1 no display.
O terceiro botão vai armazenar o elemento em um vetor.
O quarto botão vai apresentar todos os números em ordem crescente.
Neste caso, como armazenar o valor em um vetor (em C)?
E como apresentar os valores salvos em ordem crescente?
16 de novembro de 2015 às 15:12
O meu ficou assim.
#include
#include
#include
using namespace std;
int main(){
int nota[2];
double media;
for (int i=0; i<2; i++){
printf("Digite o valor da nota %d que voce tirou: ",i+1);
scanf("%d",¬a[i]);
}
media=(nota[0]+nota[1])/2.0;
printf("A média das notas tiradas foram %f",media);
return 0;
}
26 de novembro de 2015 às 13:26
Hello, thank you for your post appreciat to much keep like this send poste to help the beginner...
29 de novembro de 2015 às 22:28
Excelente blogger, sempre venho aqui tirar minhas duvidas. muito obrigada, Suas postagens me ajudam imensuravelmente :)
2 de agosto de 2016 às 07:24
adorei. Mas queria saber como é que encontra a posição de um vetor? Alguém poderia me ajudar com essa duvida! A quem responder, muito obrigada!
:)
13 de agosto de 2016 às 14:21
isso ai
3 de outubro de 2016 às 10:38
Gente, alguém me ajuda com uma programação. Eu não tenho ideia de como fazer. Ta aí:
Faça um programa que carregue 3 vetores com 5 posições cada um. O 1º vetor receberá os nomes de 5 funcionários. o 2º vetor receberá os salários dos 5 funcionários. Já o 3º vetor receberá a quantidade de anos que cada funcionário trabalha na empresa. Mostre um 1º relatório apenas com os nomes dos funcionários que não terão aumento. Mostre um 2º relatório apenas com os nomes e os novos salários dos funcionários que terão aumento. Sabe-se que os funcionários que terão direito ao aumento são aqueles que possuem tempo de serviço superior a 5 anos ou salário inferior a 200 reais. Sabe-se, ainda, que se o funcionário satisfizer as 2 condições acima (tempo de serviço e salário) o aumento será de 35%; para o funcionário que satisfizer apenas a condição de tempo de serviço, terá um aumento de 25%; e para o funcionário que satisfizer apenas a condição de salário, o aumento será de 15%.
Preciso muito de uma ajuda!!!
4 de novembro de 2016 às 17:34
cara, show de bola sua explicação, em 20 minutos estudando em sua page entendi o que em 2 meses de aula na facul na havia entendido. obg e parabens!!
23 de março de 2017 às 16:37
E qual e como é o caracter da ultima posição?
22 de maio de 2017 às 17:55
Como usar os vetores em uma função ?
2 de junho de 2017 às 17:05
ola'poderia me dar uma luz nesta situação.
Por exemplo: Um numero composto pelos dígitos 1735135-5 são dividido da seguinte forma para atender aos requisitos da atividade: 12 para o valor de X, 34 como tamanho do vetor, e 5 como sendo a quantidade de valores do vetor a serem exibidos. O programa deve utilizar basicamente laços de repetição para preencher e exibir os valores do vetor,Após o vetor estar preenchido, o programa deve permitir que uma quantidade de valores do vetor preenchido seja exibida na tela, sendo esta quantidade determinada pelo quinto dígito de seu numero.
poderia me ajudar nesta duvida
wagner
26 de junho de 2017 às 19:17
Parabéns. Bom trabalho!
15 de agosto de 2017 às 10:34
Muito bom, Parabéns!
25 de outubro de 2017 às 13:16