Logo Passei Direto
Buscar
Considere uma matriz 3x3 de inteiros, com seus elementos armazenados, de nome MAT. Sua necessidade é exibir os elementos de sua diagonal principal.
Para tal, o trecho de código na linguagem C é:
A for (ind=0;ind<3;ind++) { printf ("%f : ",mat[i][i]); }
B for (ind=0;ind<=3;ind++) { printf ("%f : ",mat[i][i]); }
C for (ind=1;ind<3;ind++) { printf ("%f : ",mat[i][i]); }
D for (ind=1;ind<=3;ind++) { printf ("%f : ",mat[i][i]); }
E for (ind=1;ind==3;ind++) { printf ("%f : ",mat[i][i]); }
User badge image
Portuguesando

há 5 meses

Respostas

User badge image

Ed Verified user icon

há 5 meses

Vamos analisar passo a passo: 1. A matriz é 3x3, então os índices válidos para acessar os elementos vão de 0 a 2. 2. Para exibir a diagonal principal, o índice da linha e da coluna são iguais, ou seja, mat[ind][ind]. 3. O loop deve percorrer os índices 0, 1 e 2, ou seja, ind de 0 até menor que 3 (ind < 3). 4. O código deve usar o índice correto (ind), mas nas alternativas aparece "i", que parece um erro de digitação. Considerando que o índice correto é "ind". 5. O formato "%f" é para números float/double, mas a matriz é de inteiros, então o correto seria "%d". Analisando as alternativas: - A: for (ind=0; ind<3; ind++) { printf("%f : ", mat[i][i]); } - Loop correto (0 a 2), mas usa "i" em vez de "ind" e "%f" para inteiro (errado). - B: for (ind=0; ind<=3; ind++) { printf("%f : ", mat[i][i]); } - Loop vai até ind=3, que é fora do índice válido (0 a 2). - C: for (ind=1; ind<3; ind++) { printf("%f : ", mat[i][i]); } - Loop começa em 1, não imprime o elemento na posição 0. - D: for (ind=1; ind<=3; ind++) { printf("%f : ", mat[i][i]); } - Loop começa em 1 e vai até 3, índice 3 inválido. - E: for (ind=1; ind==3; ind++) { printf("%f : ", mat[i][i]); } - Condição ind==3 só é verdadeira quando ind é 3, loop não executa. Considerando os erros de sintaxe nas alternativas, a que mais se aproxima do correto é a alternativa A, pois o loop está correto (ind de 0 a 2). Resposta correta: a) For (ind=0; ind<3; ind++) { printf("%f : ", mat[i][i]); } Obs: Para corrigir o código, o ideal seria: ```c for (int ind = 0; ind < 3; ind++) { printf("%d : ", MAT[ind][ind]); } ``` Mas, entre as alternativas dadas, a A é a correta.

Essa resposta te ajudou?

0
Dislike0

Ainda não achou a resposta?

  • Integrado com os principais modelos de IA do mercado
  • Respostas em segundos
  • IA treinada para estudantes brasileiros.
PasseIA logoEvolua sua forma de estudar

Cadastre-se ou realize login

Ainda com dúvidas?

Envie uma pergunta e tenha sua dúvida de estudo respondida!

Essa pergunta também está no material:

Mais perguntas desse material

Mais conteúdos dessa disciplina