Ir para conteúdo
Fórum Script Brasil

Gabriel Sardinha Colicigno

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Tudo que Gabriel Sardinha Colicigno postou

  1. Primeiro voce precisa escalonar a matriz, quando você troca as linhas e colunas muda o determinante... ou seja aplicar isso ao seu codigo. Quando a matriz estiver escalonada voce so precisa multiplicar a diagonal principal e acabou seu problem, vou colocar uma parte do codigo aqui se for ajudar nt main(int argc, char *argv[]) { int e,k,j,i,l,c,M[10][10],Z[10],P[10],mdc[10],senha; double detn,detd,aux; senha=1; double Re; while(senha!=0) { detn=1; detd=1; printf("Escreva as Dimensoes da Matrix a ser escalonada"); scanf("%d%d",&l,&c); while(l<1||c<1) { printf("Escreva as Dimensoes da Matrix a ser escalonada Maior que zero e menor que 10");scanf("%d%d",&l,&c); } while(l>10||c>10) { printf("Escreva as Dimensoes da Matrix a ser escalonada Maior que zero e menor que 10");scanf("%d%d",&l,&c); } Ler_matrix(l,c,M); k=1; while(k<l) {//printf("k0=%d",k); //system("pause"); Imprimir_matrix(l,c,M);//system("pause"); printf("\n"); //contar zero i=1; while(i<l) {Contar_zeros(l,c,M,Z); if(Z>Z[i+1]) { Trocar_linhas(l,c,M,i); detn=detn*-1; Imprimir_matrix(l,c,M); printf("\n"); i=0; } i=i+1; } i=1; while(i<l) { Procurar_Pivos(l,c,M,P); if(Z==Z[i+1]&&P!=0&&P<P[i+1]) { Trocar_linhas(l,c,M,i); detn=detn*-1; Imprimir_matrix(l,c,M); printf("\n"); i=0; } i=i+1; } Procurar_Pivos(l,c,M,P); Contar_zeros(l,c,M,Z); //printf("Zeros[%d]=%d Zeros[%d]=%d\n",k,Z[k],k+1,Z[k+1]); if(Z[k]==Z[k+1]&&Z[k+1]!=c&&k<l) {//printf("k=%d",k);system("pause"); Procurar_Pivos(l,c,M,P); if(l==c) { detd=detd*(P[k]); if(detd<1) { detd=detd*-1; detn=detn*-1; } } soma_linhas(l,c,M,P,k); k=1;//printf("K=%d\n",k); } else { k=k+1;//printf("K=%d\n",k); } for(i=1;i<=l;i++) { MDC(c,M,i,mdc); } Imprimir_matrix(l,c,M); for(i=1;i<=l;i++) {//printf("erro"); for(j=1;j<=c;j++) { //printf("MDC=%d",mdc);system("pause"); if(mdc!=0) { M[j]=M[j]/mdc;//printf("erro%d\n",mdc);printf("M[%d][%d]/%d",i,j,M[j],mdc); } } if(mdc!=0&&l==c) { detn=detn*mdc; //detn=det/mdc[i+1];printf("determinante=%d",det);system("pause"); } } printf("\n"); Imprimir_matrix(l,c,M); printf("\n"); //system("pause"); } e=Ler_Matrix_Escalonada(l,c,M,e); if(l==c&&e==1) { detn=detn*determinante(l,c,M,detn); //tirar mdc de detn e detd; aux=MDC2(detn,detd); detn=detn/aux; detd=detd/aux; if(detd==1) { printf("Determinante=%f ",detn); } else { printf("Determinante=(%f/%f) ",detn,detd); } Re=detn/detd; printf("Determinante%f",Re); } printf("0-SAIR"); scanf("%d",&senha); } printf("Fim Algoritmo"); return 0; } .espero ter ajudado.
×
×
  • Criar Novo...