1. Teoria dos Índices
Se declararmos um vetor int valores[10];, qual é o índice da última posição válida?
Ver Gabarito
Resposta: Índice 9. (Os índices vão de 0 a 9).
for) para percorrer e manipular vetores.Um vetor é como uma estante com várias prateleiras numeradas. Você usa um único nome e acessa cada gaveta pelo número (índice).
| Conceito | Sintaxe / Regra |
|---|---|
| Declaração | tipo nome[tamanho]; Ex: int notas[5]; (Cria 5 espaços) |
| Acesso | nome[índice] Ex: notas[0] = 10; (Guarda 10 na primeira posição) |
| Índices | Vão sempre de 0 até tamanho - 1. Se o vetor tem tamanho 5, os índices são: 0, 1, 2, 3, 4. |
Cuidado Vital: O C não avisa se você tentar acessar uma posição que não existe (ex: notas[100] num vetor de 5). Isso causa erros graves de memória (Lixo de memória ou travamento).
Problema: Ler 4 notas de uma turma, calcular a média e mostrar quais notas ficaram acima da média.
#include <stdio.h>
int main() {
// 1. Declaração do Vetor
// vetor 'notas' terá 4 espaços (índices 0 a 3)
float notas[4];
float soma = 0, media;
int i;
// 2. Preenchendo o Vetor (Entrada)
printf("Digite as 4 notas:\n");
// Usamos o FOR para percorrer as posições 0, 1, 2 e 3
for(i = 0; i < 4; i++) {
printf("Nota %d: ", i+1); // Apenas visual (para não mostrar Nota 0)
scanf("%f", ¬as[i]); // Lê e guarda na posição 'i'
soma = soma + notas[i]; // Já aproveita para somar
}
// 3. Cálculo da Média
media = soma / 4;
printf("\n--- Média da Turma: %.2f ---\n", media);
// 4. Verificação (Reutilizando os dados guardados)
printf("Notas acima da média:\n");
for(i = 0; i < 4; i++) {
// Verifica cada posição salva no vetor
if(notas[i] > media) {
printf("- A nota %.1f (posição %d) foi acima.\n", notas[i], i);
}
}
return 0;
}
Se declararmos um vetor int valores[10];, qual é o índice da última posição válida?
Resposta: Índice 9. (Os índices vão de 0 a 9).
Crie um vetor de 5 inteiros e preencha ele manualmente com os valores 10, 20, 30, 40 e 50 na declaração.
#include <stdio.h>
int main() {
// Inicialização direta na declaração
int numeros[5] = {10, 20, 30, 40, 50};
printf("O terceiro número é: %d", numeros[2]); // Imprime 30
return 0;
}
Escreva um programa que leia 5 números inteiros para um vetor e, no final, diga qual é o maior valor armazenado.
#include <stdio.h>
int main() {
int vet[5], i, maior;
// Leitura
for(i=0; i<5; i++){
printf("Digite num %d: ", i);
// Aqui também é bom garantir o & se for copiar
scanf("%d", &vet[i]);
}
// Lógica do Maior:
// Assumimos que o primeiro é o maior
maior = vet[0];
// Comparamos com o resto
for(i=1; i<5; i++){
if(vet[i] > maior){
maior = vet[i]; // Atualiza o "recordista"
}
}
printf("O maior valor é: %d", maior);
return 0;
}