Algoritmo de Matriz Quadrada

1 resposta
algortimo
Gleal

Alguém poderia me ajudar com esse algoritmo. O enunciado é o seguinte :

Neste programa seu trabalho é ler um valor inteiro que será o tamanho da matriz quadrada (largura e altura) que será preenchida da seguinte forma: a parte externa é preenchida com 0, a parte interna é preenchida com 1, a diagonal principal é preenchida com 2, a diagonal secundária é preenchida com 3 e o ponto central contém o valor 4, conforme os exemplos abaixo.

Observação: o quadrado com ‘1’ sempre começa na posição tamanho/3, tanto na largura quanto quanto na altura. A linha e a coluna começam em zero (0).
Entrada

A entrada contém vários casos de teste e termina com EOF (fim de arquivo. Cada caso de teste consiste de um valor inteiro ímpar N (5 ≤ N ≤ 101) que é o tamanho da matriz.
Saída

Para cada caso de teste, imprima a matriz correspondente conforme o exemplo abaixo. Após cada caso de teste, imprima uma linha em branco.

Caso eu digite 5, a matriz tem que dar esse resultado :

20003
01110
01410
01110
30002
Se eu digitar 11, tem que ter esse resultado :
[telefone removido]
[telefone removido]
[telefone removido]
[telefone removido]
[telefone removido]
[telefone removido]
[telefone removido]
[telefone removido]
[telefone removido]
[telefone removido]
[telefone removido]

Observação: Eu consegui resolver apenas a parte das diagonais principais e secundaria, mas não faço a minima ideia de como criar esse quadradinho com “1” dentro da matriz.

1 Resposta

rodevops

Já se passou um bom tempo, imagino que você já resolveu, fiz um algoritmo seguindo essas regras só pra brincar, segue anexo… o pessoal do fórum pode precisar… compilei usando gcc 5.4.0 no linux mint…

Apenas limitei o tamanho máximo da matriz para 51, porque 101 fica destorcido na tela :joy:

matrizq.c (1,4 KB)

Criado 13 de julho de 2017
Ultima resposta 21 de ago. de 2017
Respostas 1
Participantes 2