1(1.5). Faça o seguinte programa que:
- Leia dois vetores
e
;
- Crie um terceiro vetor
, onde cada elemento éca soma dos elementos correspondentes de A e B;
- Mostre o conteúdo de todos os vetores.
Passo 1
O enunciado pede que você faça um programa que:
- Leia dois vetores
e ; - Crie um terceiro vetor
, onde cada elemento é a soma dos elementos correspondentes de e ; - Mostre o conteúdo de todos os vetores (
, e ).
Informações relevantes dadas:
- Cada vetor tem exatamente
elementos. - Os elementos correspondentes significam: somar o elemento na posição
de com o elemento na posição de , para cada . - É preciso imprimir (mostrar) os três vetores ao final.
Passo 2
Entendendo vetores e índices (bem devagar, como se eu estivesse do seu lado):
- Um vetor
guarda valores. Em linguagens como C e Python costumamos indexar do ao . Então as posições são . - Quando eu falo “elemento correspondente”, quero dizer: o elemento em
na posição vai ser somado com o elemento em na mesma posição . - Vamos usar uma variável de controle chamada
no laço (loop) para percorrer todas as posições de a .
Passo 3
A fórmula central é simples e tem que estar sempre na cabeça quando for fazer esse programa:
Explicando:
é o elemento na posição
do vetor soma;
é o elemento na posição
do vetor
;
é o elemento na posição
do vetor
.
Passo 4
Estratégia em palavras (pseudocódigo simples):
- Declarar três vetores com 5 posições:
, , . - Para
de até : - Ler
.
- Ler
- Para
de até : - Ler
.
- Ler
- Para
de até : - Calcular
.
- Calcular
- Mostrar os vetores
, e .
Observação: dá pra ler
e
intercalados (ler
e
no mesmo laço), mas eu prefiro separar para ficar mais claro na prova.
Passo 5
Pseudocódigo detalhado (linha a linha, pra você decorar a estrutura):
- Declarar
. - Para
até : - Ler número e guardar em
.
- Ler número e guardar em
- Para
até : - Ler número e guardar em
.
- Ler número e guardar em
- Para
até : - Fazer
.
- Fazer
- Imprimir todos os elementos de
(por exemplo: “A[0] = …”, etc.). - Imprimir todos os elementos de
. - Imprimir todos os elementos de
.
Passo 6
Explicando como escrever isso em C (linha a linha, com explicação do que cada parte faz):
- A ideia principal em C:
- Usar um array
declarado como int A[5];(ou outro tipo, se quiser números reais usefloat/double). - Usar
for (i = 0; i < 5; i++)para percorrer as 5 posições. - Ler com
scanfe escrever comprintf.
- Usar um array
- No laço onde calculamos a soma, aplicamos exatamente a fórmula
.
Observação prática para prova: se você estiver escrevendo em pseudocódigo no papel, mantenha a mesma estrutura de laço e a fórmula da soma — o avaliador quer ver que você sabe percorrer índices e aplicar a operação.
Passo 7
Versão em Python (mais curta e fácil de entender) — explico as linhas importantes:
A = []cria uma lista vazia.for i in range(5):fazvariar de a . A.append(int(input()))lê um número e acrescenta à listaA.- Depois lemos
Bdo mesmo jeito. - Construímos
ScomS.append(A[i] + B[i]). - Por fim imprimimos os vetores.
Passo 8
Exemplo numérico para fixar (faça isso na prova com cuidado se pedirem demonstrar):
- Suponha que você leu:
-
- Então, para cada
: -
- Resultado final:
.
Isso mostra que a receitafunciona certinho.
Passo 9
Erros comuns e dicas rápidas (pra prova):
- Não esqueça que, em C, índices começam em
. Se usar a você vai acessar memória errada. - Declarar arrays com tamanho errado (por exemplo
A[4]) deixa fora uma posição. Use exatamente5. - Ao imprimir, mantenha a mesma ordem de índices para não embaralhar os vetores.
- Se a questão não especifica o tipo, geralmente
inté suficiente; se pedirem números com vírgula usefloat/double. - No enunciado aqui não pediram formato específico de saída; no entanto, organize a saída para ficar legível (uma linha por vetor, ou cada elemento com seu índice).
Passo 10
Complexidade e conclusão curta:
- Complexidade: fazemos três laços de
iterações — tempo é na prática (constante), ou se generalizarmos para vetor de tamanho . - Você já tem tudo: ler os vetores, aplicar
e imprimir. Dá pra fazer isso em 1 minuto na prova se treinar um pouco.
Resposta
#include <stdio.h>
int main() {
int A[5], B[5], S[5];
int i;
// Leitura do vetor A
for (i = 0; i < 5; i++) {
printf("Digite A[%d]: ", i);
if (scanf("%d", &A[i]) != 1) return 1;
}
// Leitura do vetor B
for (i = 0; i < 5; i++) {
printf("Digite B[%d]: ", i);
if (scanf("%d", &B[i]) != 1) return 1;
}
// Cálculo do vetor S
for (i = 0; i < 5; i++) {
S[i] = A[i] + B[i];
}
// Mostrando os vetores
printf("\nVetor A:\n");
for (i = 0; i < 5; i++) {
printf("A[%d] = %d\n", i, A[i]);
}
printf("\nVetor B:\n");
for (i = 0; i < 5; i++) {
printf("B[%d] = %d\n", i, B[i]);
}
printf("\nVetor S (A + B):\n");
for (i = 0; i < 5; i++) {
printf("S[%d] = %d\n", i, S[i]);
}
return 0;
}