Exercícios Resolvidos de Loops infinitos, loops aninhados e os comandos break e continue

Ver Teoria

Enunciado

Faça um programa que receba um número do usuário e desenhe uma matriz identidade com estas dimensões.

Se o usuário inserir o número 7 a saída deve ser:

Passo 1

E aí galerinha, vamos lá pro exercício. A questão quer que a gente receba um valor do usuário e imprima uma matriz identidade.

Antes de mais nada, a gente precisa lembrar que uma matriz identidade é uma matriz compostas por 1 na diagonal principal, e por 0 em todas as outras posições. De forma matemática, podemos representar assim:

a i j = 1 a a s e   i = j a i j = 0 a a s e   i ≠ j

onde o i é a linha e o j é a coluna.

Uma forma de desenhar uma matriz no C++ é utilizando dois loops aninhados: um loop imprime todos os valores de uma linha, quando esse loop chegar ao fim a gente salta uma linha e o loop começa de novo. Ou seja, temos um loop dentro de outro.

Então, pra começar vamos declarar as variáveis i e j que serão usadas nos nossos loops, e também a variável d i m que vai receber a dimensão da matriz inserida pelo usuário.

Passo 2

O passo seguinte é utilizar os objetos c o u t e c i n para solicitar que o usuário insira a dimensão da matriz identidade.

Passo 3

Agora vamos pro coração da questão.

Primeiro a gente cria um loop externo, que comece a contar a partir do zero, e aumente a contagem de um em um, até o tamanho da dimensão da matriz.

Um loop interno atua de maneira semelhante, contando do zero até a dimensão da matriz de um em um

Para desenhar uma matriz identidade precisamos imprimir o valor 1 na diagonal principal, então vamos utilizar uma estrutura i f - e l s e para identificar os momentos e que o valor da linha e da coluna são iguais. Se as i e j forem iguais devemos imprimir o valor “ 1 ”, se forem diferentes imprimimos “ 0 ”.

Detalhe, coloque um espaço dentro das aspas, pois se não tiver um espaço os números da matriz ficarão grudados um no outro. a i j = 1 a a s e   i = j a i j = 0 a a s e   i ≠ j

Com isso podemos fechar o loop interno.

Já o loop externo terá que efetuar a operação de saltar de linha. Assim, na próxima iteração do loop interno, ele irá imprimir na próxima linha.

Passo 4

Agora vamos testar o código pra saber se deu tudo certo:

E prontinho, o programa está rodando lindão!

Resposta