Um estudo matemático revelou que algumas matrizes podem simplificar o processo do cálculo de mutiplicação de matrizes. Essas matrizes foram denominadas Matrizes Sinuosas, e que são muito comuns na área da Física. São consideradas Matrizes Sinuosas matrizes quadradas em que, partindo da primeira linha e primeira coluna e percorrendo-a na forma de um S invertido, todo elemento percorrido não pode ter valor superior ao elemento em questão. A seguir alguns exemplos de Matrizes Sinuosas.
1 2 3 4 5
10 9 8 7 6
11 12 13 14 15
20 19 18 17 16
21 22 23 24 25
1 1 1 1 1
2 2 2 2 2
3 3 3 4 5
6 6 6 6 6
11 12 45 67 99
2 30 36 45
341 296 274 162
399 401 401 687
1010 734 693 688
Escreva um programa em C que receba diversas Matrizes quadradas e, para cada matriz informada, verifique se é ou não é uma matriz sinuosa. Para cada matriz será fornecido, primeiramente, o tamanho N e, em seguida, os NxN elementos. Caso o tamanho informado seja superor a 30 ou inferior a 1, seu programa deverá ser finalizado imediatamente. Caso contrário, seu programa deverá prosseguir com a leitura dos elementos da matriz. Note que várias matrizes de tamanhos diferentes podem ser informadas pelo usuário até que um tamanho inválido seja fornecido. O modelo de execução apresentado a seguir.
Informe o tamanho da matriz quadrada:
5 <== Informado pelo usuário
Informe os elementos da matriz quadrada 5 x 5:
1 2 3 4 5 <== Informado pelo usuário
10 9 8 7 6 <== Informado pelo usuário
11 12 13 14 15 <== Informado pelo usuário
20 19 18 17 16 <== Informado pelo usuário
21 22 23 24 25 <== Informado pelo usuário
A matriz e sinuosa.
Informe o tamanho da matriz quadrada:
3 <== Informado pelo usuário
Informe os elementos da matriz quadrada 3 x 3:
1 2 2 <== Informado pelo usuário
2 2 3 <== Informado pelo usuário
3 3 1 <== Informado pelo usuário
A matriz não e sinuosa.
Informe o tamanho da matriz quadrada:
4 <== Informado pelo usuário
Informe os elementos da matriz quadrada 4 x 4:
1 1 1 1 <== Informado pelo usuário
2 2 2 2 <== Informado pelo usuário
3 3 3 3 <== Informado pelo usuário
4 4 4 4 <== Informado pelo usuário
A matriz e sinuosa.
Informe o tamanho da matriz quadrada:
0 <== Informado pelo usuário
Alguém poderia me ajudar a como resolver esse problema? Eu gostaria de saber como realizar o cáculo para obter uma leitura por linha no formato de um S invertido.
Pergunta
Misokami's SI
Um estudo matemático revelou que algumas matrizes podem simplificar o processo do cálculo de mutiplicação de matrizes. Essas matrizes foram denominadas Matrizes Sinuosas, e que são muito comuns na área da Física. São consideradas Matrizes Sinuosas matrizes quadradas em que, partindo da primeira linha e primeira coluna e percorrendo-a na forma de um S invertido, todo elemento percorrido não pode ter valor superior ao elemento em questão. A seguir alguns exemplos de Matrizes Sinuosas.
1 2 3 4 5
10 9 8 7 6
11 12 13 14 15
20 19 18 17 16
21 22 23 24 25
1 1 1 1 1
2 2 2 2 2
3 3 3 4 5
6 6 6 6 6
11 12 45 67 99
2 30 36 45
341 296 274 162
399 401 401 687
1010 734 693 688
Escreva um programa em C que receba diversas Matrizes quadradas e, para cada matriz informada, verifique se é ou não é uma matriz sinuosa. Para cada matriz será fornecido, primeiramente, o tamanho N e, em seguida, os NxN elementos. Caso o tamanho informado seja superor a 30 ou inferior a 1, seu programa deverá ser finalizado imediatamente. Caso contrário, seu programa deverá prosseguir com a leitura dos elementos da matriz. Note que várias matrizes de tamanhos diferentes podem ser informadas pelo usuário até que um tamanho inválido seja fornecido. O modelo de execução apresentado a seguir.
Informe o tamanho da matriz quadrada:
5 <== Informado pelo usuário
Informe os elementos da matriz quadrada 5 x 5:
1 2 3 4 5 <== Informado pelo usuário
10 9 8 7 6 <== Informado pelo usuário
11 12 13 14 15 <== Informado pelo usuário
20 19 18 17 16 <== Informado pelo usuário
21 22 23 24 25 <== Informado pelo usuário
A matriz e sinuosa.
Informe o tamanho da matriz quadrada:
3 <== Informado pelo usuário
Informe os elementos da matriz quadrada 3 x 3:
1 2 2 <== Informado pelo usuário
2 2 3 <== Informado pelo usuário
3 3 1 <== Informado pelo usuário
A matriz não e sinuosa.
Informe o tamanho da matriz quadrada:
4 <== Informado pelo usuário
Informe os elementos da matriz quadrada 4 x 4:
1 1 1 1 <== Informado pelo usuário
2 2 2 2 <== Informado pelo usuário
3 3 3 3 <== Informado pelo usuário
4 4 4 4 <== Informado pelo usuário
A matriz e sinuosa.
Informe o tamanho da matriz quadrada:
0 <== Informado pelo usuário
Alguém poderia me ajudar a como resolver esse problema? Eu gostaria de saber como realizar o cáculo para obter uma leitura por linha no formato de um S invertido.
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.