URI Online Judge | 1435
Matriz Quadrada I
Adaptado por Josué P. de Castro
Brasil
Timelimit: 2
Escreva um algoritmo que leia um inteiro N (0 ≤ N ≤ 100), correspondente a ordem de uma matriz M de inteiros, e construa a matriz de acordo com o exemplo abaixo.
Entrada
A entrada consiste de vários inteiros, um valor por linha, correspondentes as ordens das matrizes a serem construídas. O final da entrada é marcado por um valor de ordem igual a zero (0).
Saída
Para cada inteiro da entrada imprima a matriz correspondente, de acordo com o exemplo. Os valores das matrizes devem ser formatados em um campo de tamanho 3 justificados à direita e separados por espaço. Após o último caractere de cada linha da matriz não deve haver espaços em branco. Após a impressão de cada matriz deve ser deixada uma linha em branco.
while True:
N = int(input())
if (N == 0):
break
resultado = []
for i in range(N):
tmp = []
for j in range(N):
tmp.append(1)
resultado.append(tmp)
valor = 1
cima = 0
esq = 0
baixo = N - 1
direita = N - 1
if (N % 2 == 0):
meio = N / 2
else:
meio = (N + 1) / 2
while (valor <= meio):
i = esq
while (i <= direita):
resultado[cima][i] = valor
resultado[baixo][i] = valor
i+=1
i = (cima + 1)
while ( i < baixo):
resultado[i][esq] = valor
resultado[i][direita] = valor
i+=1
valor+=1
cima+=1
baixo-=1
esq+=1
direita-=1
for i in range(N):
tx = ''
for j in range(N):
tx += " %3d" %resultado[i][j]
print(tx[1:])
print("")
while True:
N = int(input())
if (N == 0):
break
resultado = []
for i in range(N):
tmp = []
for j in range(N):
tmp.append(1)
resultado.append(tmp)
valor = 1
cima = 0
esq = 0
baixo = N - 1
direita = N - 1
if (N % 2 == 0):
meio = N / 2
else:
meio = (N + 1) / 2
while (valor <= meio):
i = esq
while (i <= direita):
resultado[cima][i] = valor
resultado[baixo][i] = valor
i+=1
i = (cima + 1)
while ( i < baixo):
resultado[i][esq] = valor
resultado[i][direita] = valor
i+=1
valor+=1
cima+=1
baixo-=1
esq+=1
direita-=1
for i in range(N):
tx = ''
for j in range(N):
tx += " %3d" %resultado[i][j]
print(tx[1:])
print("")
Nenhum comentário:
Postar um comentário