Faça um algoritmo para salvar inteiros em uma matriz da seguinte forma:
  • todos os valores da diagonal principal devem receber o valor 1 ;
  • todos os valores acima da diagonal principal serão lidos a partir de valores digitados no teclado;
  • todos os valores abaixo da diagonal principal serão espelhados a partir da diagonal principal de forma que o valor na linha j, coluna i receba o valor da linha i, coluna j. Por exemplo, o valor contido na 4^ a linha, 1^a coluna será o mesmo que está na 1^a linha, 4^a coluna.

Passo 1

Então, o enunciado pede um algoritmo que preencha uma matriz quadrada de inteiros do jeitinho abaixo:
  1. Na diagonal principal (onde o índice da linha é igual ao da coluna) tudo vira 1;
  2. Acima da diagonal (linha < coluna) a gente lê valores do teclado;
  3. Abaixo da diagonal (linha > coluna) a gente “espelha” os valores que já estão acima (ou seja, o elemento na linha j, coluna i recebe o valor que está na linha i, coluna j).
Conteúdo da matéria: matrizes, laços (repetições) aninhados e estruturas condicionais.
O que vamos precisar:
  • Saber percorrer todos os elementos de uma matriz usando dois loops (um para linha, outro para coluna).
  • Usar uma estrutura if/else pra testar se estamos na diagonal, acima ou abaixo dela.

Passo 2

Primeiro, vamos definir o tamanho da matriz e alocá-la. Em pseudocódigo, a ideia é:
leia n           // dimensão da matriz (n x n)
declare A[n][n]  // cria uma matriz A de inteiros com n linhas e n colunas
Teoria envolvida: em muitas linguagens (C, Java, Python etc.) basta declarar um vetor 2D de tamanho n×n para usar depois nos loops.

Passo 3

Agora, vamos percorrer toda a matriz com dois laços aninhados. Para cada par de índices (i, j), a gente verifica:
  1. Se i = j, então A[i][j] >=ts 1.
  2. Senão, se i < j, a gente lê do teclado: “leia A[i][j]”.
  3. Senão (que é o caso i > j), faz o espelhamento: A[i][j] >=ts A[j][i].
Explicando a teoria:
  • O laço “para i de 1 até n” faz a varredura linha a linha.
  • O laço “para j de 1 até n” varre coluna a coluna.
  • A condição i = j identifica a diagonal principal.
  • Quando i < j, estamos na parte superior da matriz, que o enunciado pede pra ler direto do usuário.
  • Quando i > j, a gente está na parte inferior, então usa o espelhamento (propriedade de simetria).

Passo 4

Depois de preencher, se você quiser, dá uma impressa na matriz pra ver o resultado. Tipo:
para i de 1 até n
    para j de 1 até n
        escreva A[i][j], “ ”
    fim para
    escreva “\n”
fim para

Resposta

Segue o pseudocódigo completo:
leia n
declare A[n][n]

para i de 1 até n faça
    para j de 1 até n faça
        se i = j então
            A[i][j] ← 1
        senão se i < j então
            leia A[i][j]
        senão
            A[i][j] ← A[j][i]
        fim se
    fim para
fim para

// (opcional) imprimir A
para i de 1 até n faça
    para j de 1 até n faça
        escreva A[i][j], " "
    fim para
    escreva "\n"
fim para

Exercícios relacionados