Pense em um vetor como uma matriz de uma única linha e quantidade de colunas equivalente ao seu tamanho. O vetor é uma estrutura homogênea, por isso só pode armazenar um único tipo de dado.
(Fonte: OLIVEIRA, Pietro Martins de; Pereira, Rogério de Leon. Estrutura de Dados I. Maringá-Pr.: Unicesumar, 2019. )
Na condição de programador(a) o seu trabalho é prover verificação dos limites onde for necessário. Nesse contexto, quatro programadores analisaram o código abaixo.
#include
int main(void) {
int v[10], i;
for (i = 0; i < 100; i++)
v[i] = i;
}
Cada um dos quatro programadores chegaram a uma conclusão:
I. O código compilará e está correto. II. O código compilará, mas está incorreto. III. O código não compilará e está incorreto. IV. O código não compilará, mas está correto.
Está(ão) correto(s) o(s) programador(es).
Alternativa 1: I, apenas. Alternativa 2: II, apenas. Alternativa 3: III, apenas. Alternativa 4: IV, apenas. Alternativa 5: I, II, III e IV.
A alternativa 2 é a resposta correta, pois apenas a afirmativa II é verdadeira. O código irá compilar devido a diretiva '#include', porém o valor está atribuído errado porque o vetor deve ser 100, já que o laço de repetição vai de 0 à 100.
Analisando o código
Com base na análise do código, o que está errado é que o vetor indica o tamanho de 10, mas o loop "for" itera de 0 a 99. Para estar certo, existem duas opções, onde a primeira é alterar o vetor para int v[100] para que o loop for execute corretamente de 0 a 99. A segunda opção é manter o vetor como int v[10],mas mudara condição do loop for para i < 10.
Veja na prática as duas opções que corrigirá este código.
Opção 1
#include
int main(void) {
int v[100], i;
for (i = 0; i < 100; i++)
v[i] = i;
}
Opção 2
#include
int main(void) {
int v[10], i;
for (i = 0; i < 10; i++)
v[i] = i;
}
Conheça mais sobre compilação: https://brainly.com.br/tarefa/54213589
Lista de comentários
A alternativa correta é a (2) II, apenas.
A alternativa 2 é a resposta correta, pois apenas a afirmativa II é verdadeira. O código irá compilar devido a diretiva '#include', porém o valor está atribuído errado porque o vetor deve ser 100, já que o laço de repetição vai de 0 à 100.
Analisando o código
Com base na análise do código, o que está errado é que o vetor indica o tamanho de 10, mas o loop "for" itera de 0 a 99. Para estar certo, existem duas opções, onde a primeira é alterar o vetor para int v[100] para que o loop for execute corretamente de 0 a 99. A segunda opção é manter o vetor como int v[10], mas mudar a condição do loop for para i < 10.
Veja na prática as duas opções que corrigirá este código.
Opção 1
#include
int main(void) {
int v[100], i;
for (i = 0; i < 100; i++)
v[i] = i;
}
Opção 2
#include
int main(void) {
int v[10], i;
for (i = 0; i < 10; i++)
v[i] = i;
}
Conheça mais sobre compilação: https://brainly.com.br/tarefa/54213589
#SPJ2