Estou fazendo um trabalho em C onde é necessario verificar se a matriz e de permutacao.
ex matriz permutacao.(so pode ocorre 0 e 1 e não pode ter mais que 1 em cada coluna.
1 0 0 0
0 0 0 1
0 1 0 0
0 0 1 0
já estou a dois dias tentando fazer mas não connsigo fazer funcionar...
gostaria que meu return( ) fosse 0 ou 1 dependendo resultado para poder escreever na mein() o resultado. Usei dois vetores mas não sei ainda direito como posso somar para indentificar.
Soluçao para o problema era:
quando eu esta zerando os vetores so zerava a primeira posicao, ai então sempre havia sujeira na memoria onde ocorria o erro.
abaixo o codido correto com a funcao soma e permutacao.
int soma_lc(int mat[lmax][cmax],int l,int c,int somal[],int somac[])
{
int x,y;
for (x=0; x<l; x++)
{somal[x]=0;
somac[x]=0;
}
for (x=0;x<l;x++)
for (y=0;y<c; y++)
{ somal[x]=somal[x]+mat[x][y];
somac[y]=somac[y]+mat[x][y];
}
}
//Funcao testa se e permutacao//
int permutacao(int mat[lmax][cmax], int l, int c,int somal[],int somac[])
{
int x,y,per=1;
for (x=0;x<l;x++)
if(somal[x]!=1 || somac[x]!=1)
per=0;
return(per);
}
Att.
Editado por Licenciatura Computacao Adcionar tag's (Jonathan)
Pergunta
Licenciatura Computacao
Boa noite a todos...
Bom sou novo aqui no forum.
Estou fazendo um trabalho em C onde é necessario verificar se a matriz e de permutacao.
ex matriz permutacao.(so pode ocorre 0 e 1 e não pode ter mais que 1 em cada coluna.
1 0 0 0
0 0 0 1
0 1 0 0
0 0 1 0
já estou a dois dias tentando fazer mas não connsigo fazer funcionar...
gostaria que meu return( ) fosse 0 ou 1 dependendo resultado para poder escreever na mein() o resultado. Usei dois vetores mas não sei ainda direito como posso somar para indentificar.
Soluçao para o problema era:
quando eu esta zerando os vetores so zerava a primeira posicao, ai então sempre havia sujeira na memoria onde ocorria o erro.
abaixo o codido correto com a funcao soma e permutacao.
int soma_lc(int mat[lmax][cmax],int l,int c,int somal[],int somac[])
{
int x,y;
for (x=0; x<l; x++)
{somal[x]=0;
somac[x]=0;
}
for (x=0;x<l;x++)
for (y=0;y<c; y++)
{ somal[x]=somal[x]+mat[x][y];
somac[y]=somac[y]+mat[x][y];
}
}
//Funcao testa se e permutacao//
int permutacao(int mat[lmax][cmax], int l, int c,int somal[],int somac[])
{
int x,y,per=1;
for (x=0;x<l;x++)
if(somal[x]!=1 || somac[x]!=1)
per=0;
return(per);
}
Att.
Editado por Licenciatura ComputacaoAdcionar tag's (Jonathan)
Link para o comentário
Compartilhar em outros sites
0 respostass 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.