Ir para conteúdo
Fórum Script Brasil
  • 0

Matriz Sinuosa.


Misokami's SI

Pergunta

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

  • 0

Segue o exercício feito em Dev-C++ 4.9.9.2

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main (void)
{
// DECLARAÇÃO DAS VARIÁVEIS 
     int n, i, j;
     int auxiliar;
     int errado;
     aqui:
     errado = 0;
     printf("Informe o tamanho da matriz quadrada: ");
     scanf("%d",&n);
     int matriz[n][n];
     

// PREENCHENDO ELEMENTOS DA MATRIZ
     if ((n > 1) && (n < 30))
     {
     for (i=1; i<=n; i++)
     {
         for (j=1; j<=n; j++)
         {
             printf("Entre com o elemento matriz[%d][%d]: ",i,j);
             scanf("%d",&matriz[i][j]);
         }
     }
     
     auxiliar = matriz[1][1];
     
// VERIFICANDO SE A MATRIZ É SINUOSA
     for (i=1; i<=n; i++)
     {
         if ((i % 2) != 0)
         {
         for (j=1; j<=n; j++)
         {   
             if (j == n) auxiliar = matriz[i][j];
             else auxiliar = matriz[i][j+1];
             if (matriz[i][j] > auxiliar) errado = 1;             
         }
         }
         else
         {
         for (j=1; j<=n; j++)
         {   
             if (j == n) auxiliar = matriz[i][j];
             else auxiliar = matriz[i][j+1];
             if (matriz[i][j] < auxiliar) errado = 1;             
         }
         }
     }    

     if (errado == 0) printf("Matriz Sinuosa\n");
     else printf("Matriz não Sinuosa\n");
     goto aqui;
     }
     system("pause");
}

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...