Ed
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.
Cadastre-se ou realize login
Mais perguntas desse material