Jump to content
Fórum Script Brasil
  • 0

Como comparar indices de uma matriz qualquer!


Question

olá amigos, estou com dúvida em comparar os indices i e j de uma matriz qualquer. por exemplo, os elementos abaixo da diagonal principal possuem o índice da linha maior que o índice da coluna. (índices em colchetes estão abaixo da diagonal principal) exemplo abaixo.

a00 a01 a02

[a10] a11 a12

[a20] [a21] a22

preciso comparar o índice da linha pelo da coluna de forma pareceda com isso: if ( (i > j) == 0){ ...

e comparar com o valor recebido qe tem que ser igual a zero ou não.

no meu código tentei assim:

if (matriz[l][c] = (l > c) == 0){ // aqui deve está o erro (sintaxe), como corrijo isso?

agradeço pela atenção de todos!

Link to post
Share on other sites

6 answers to this question

Recommended Posts

  • 0

Acho que entendi. Você quer ver se a matriz é triangular superior.

for(i = 1; i < MAX_LINHA; i++)
     for(j = 0; j < i; j++)
     {
          if(matriz[i][j] != 0)
         {
              printf("Matriz não e triangular");
              break;
         }
     }

Vê se funciona ai.

Link to post
Share on other sites
  • 0
Acho que entendi. Você quer ver se a matriz é triangular superior.

for(i = 1; i < MAX_LINHA; i++)
     for(j = 0; j < i; j++)
     {
          if(matriz[i][j] != 0)
         {
              printf("Matriz não e triangular");
              break;
         }
     }

Vê se funciona ai.

verifica o código completo e teste pra ver o erro que está dando. coloca 2 e 2 para i e j e 0 apenas no índice [10], e verifica o q aparece.

código completo:

******************************************************************************************************************

#include <iostream>

using namespace std;

int i, j;

int matriz[0][0];

main (){

cout<<"Digite o numero de linhas da Matriz:"<<endl;

cin>>i;

cout<<"Digite o numero de colunas da Matriz:"<<endl;

cin>>j;

for (int l=0; l<i; l++){

for (int c=0; c<j; c++){

cout<<"Digite o Indice:""["<< l <<""<< c << "]"<<" da Matriz:"<<endl;

cin>>matriz[l][c];

}

cout<<endl;

}

for (int l=0; l<i; l++){

for (int c=0; c<j; c++){

cout<<matriz[l][c]<<" ";

}

cout<<endl;

}

cout<<endl;

if(matriz[j] != 0){

cout<<"[[[[++++ A Matriz é Triangular Superior ++++]]]]"<<endl;

}

else

{

cout<<"[[---- A Matriz não é Triangular Superior ----]]"<<endl;

}

system("pause");

}

Link to post
Share on other sites
  • 0
verifica o código completo e teste pra ver o erro que está dando. coloca 2 e 2 para i e j e 0 apenas no índice [10], e verifica o q aparece.

Bom, aqui não apareceu a mensagem "Matriz não e triangular". Deu certo aqui. Testei 3X3, 4X4.

Qual o erro que aparece ai?

Pelo seu primeiro post, entendi que era pra verificar se era triangular inferior. Mas pelo seu código agora, você quer ver também se é triangular superior. Então tem que modificar o código. A não ser que se verifique primeiro pra superior e depois pra inferior.

Edited by RonaldoRG
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      149296
    • Total Posts
      645693
×
×
  • Create New...