Qual estrutura de repetição abaixo preenche corretamente um vetor de 30 posições com 0 (zero) em cada uma das posições?
for(int i=0;i<=30;i++){ vetor[i] = 0; }
for(int i=0;i<30;i++){ vetor[i] == 0; }
for(int i=1;i<30;i++){ vetor[i] = 0; }
for(int i=1;i<=30;i++){ vetor[i] = 0; }
for(int i=0;i<30;i++){ vetor[i] = 0; }
Soluções para a tarefa
Olá,
A estrutura correta é a última
Código mostrando:
#include <stdio.h>
int main()
{
float vetor[30];
printf("Vetor com todas as 30 posições com valor 0\n");
/* A formato do laço for está correto e o vetor será preenchido corretamente*/
for(int i=0;i<30;i++){
vetor[i] = 0;
}
//Confirmando exibindo o vetor preenchido
for(int i=0;i<30;i++){
printf("[%.1f]\t",vetor[i]);
}
return 0;
}
Resposta:
r(int i=0;i <30;i ++){ ve tor[i] = 0; }
Explicação:
Falso. Está acessando v[30], o que é incorreto. for(int i=0;i<=30;i++) { vetor[i] = 0; }
FAlso. Está iniciando i de 1 e não de zero. for(int i=1;i<30;i++) { vetor[i] = 0; }
FAlso. Está iniciando i de 1 e não de zero e está acessando v[30], o que é incorreto. for(int i=1;i<=30;i++) { vetor[i] = 0; }
Falso. O erro está dentro do bloco do for. Está usando == e não a atribuição como deveria. PAra atibuir, use =. for(int i=0;i<30;i++) { vetor[i] == 0; }