Determinantes Por Cofctores

Posted by Rosemberg Benavides on 18:27


DE DOS POR DOS (2*2)



#include<stdio.h>
#include<conio.h>
main()
{
int a[10][10],n,m,f,i,j,g,k,s=0;
for(i=0;i<2;i++){
 for(j=0;j<2;j++){
  printf("\n elemento a[%d,%d]:",i+1,j+1);
  scanf("%d",&a[i][j]);
  if(i==0 && j==i){
   n=a[i][j];
   }else
    if(i==0 && j==1){
     m=a[i][j];
     }else
      if(i==1 && j==0) {
       f=a[i][j];
       }else{
 g=a[i][j];
 }
     }
     }
     s=((n*g)-(m*f));
     printf("\n\n\t |a|=%d",s);
     return(0);
     }







DE CUATRO POR CUATRO (4*4)



#include<stdio.h>
#include<conio.h>
#include<string.h>


int a11(int bi[10][10]);      /*funcion para calcular cofactor a11*/
int a12(int C[10][10]);      /*funcion cofactor calcular a12*/
int a13(int d[10][10]);     /*funcion cofactor calcular a13*/
int a14(int E[10][10]);     /*funcion cofactor calcular a14*/
void det_2x2(int H[10][10]); /* funcion para calcular  determinante de 2 orden*/
void det_3x3(int E[10][10]); /* funcion para calcular  determinante de 3 orden*/
int bi[10][10],a[10][10],C[10][10],d[10][10],E[10][10],H[10][10];


 main(){
 int s,q,r,c=0,z=0,i,t,A,f,op,j,a[10][10],C[10][10],n=0,d[10][10],w=0;
 printf("\n\t\t\aPROGRAMA DE CALCULO DE DETERMINANTES  ");
 printf("\n\n\t\t\a     POR: ROSEMBERG BENAVIDES MORELOS");
 printf("\n\n\a   !  ADVERTENCIA !  ");
 printf("\n\n\a      ESTE PROGRAMA ESTA DISEÑADO PARA CALCULAR DETERMINANTES ");
 printf("\n\n\n\a    DE MATRICES MENORES E IGUALES A 4 ORDEN  POR FAVOR NO EXCEDA EL LIMITE");
 printf("\n\n\n\n\n\a      PRESIONE ENTER PRA EMPEZAR");
do{
 getch();
 clrscr();
/* printf("\n\n\t\t MENU DE OPCIONES:\n\n");
 printf("\n\n\t\t==========================================\n");
 printf("\n elija el orden de su matriz\n\n");
 
 printf("\t\t 3. ORDEN \n");
 printf("\t\t 4. ORDEN \n");
 printf("\t\t 5. SALIR\n");*/


 printf("\n\n\t digite el orden de su matriz(solo 2,3 ó 4): ");
 scanf("%d",&op);
 switch(op){


 case 2:
 clrscr();
 det_2x2(H);
 
 break;
  case 3:
  clrscr();
  det_3x3(E);
  break;
  case 4:        
  clrscr();


 clrscr();
 /* carga de la matriz de 4x4*/
 for(i=0;i<4;i++){
  for(j=0;j<4;j++){
   printf("\n a[%d,%d]:",i+1,j+1);
   scanf("%d",&a[i][j]);
      }
      }
      for(i=0;i<4;i++){
          
    for(j=0;j<4;j++){
     if(i==0 && j==0){
      t=a[i][j];
      }else
      if(i==0 && j==1){
       q=a[i][j];
       }else
       if(i==0 && j==2){
        r=a[i][j];
        }else
  if(i==0 && j==3){
   s=a[i][j];
                 }else
     if(i==1 && j==0){
             d[0][0]=a[1][0];
      C[0][0]=a[1][0];
             E[0][0]=a[1][0];
            }else
     if(i==1 && j==1){
             d[0][1]=a[1][1];
             bi[0][0]=a[1][1];
      E[0][1]=a[1][1];
      }else
       if(i==1 && j==2){
        bi[0][1]=a[1][2];
        C[0][1]=a[1][2];
               E[0][2]=a[1][2];
        }else
  if(i==1 && j==3){
   bi[0][2]=a[1][3];
   C[0][2]=a[1][3];
   d[0][2]=a[1][3];
   }else
    if(i==2 && j==0){
     C[1][0]=a[2][0];
                   d[1][0]=a[2][0];
                   E[1][0]=a[2][0];
                   }else
    if(i==2 && j==1){
     bi[1][0]=a[2][1];
     d[1][1]=a[2][1];
                   E[1][1]=a[2][1];
     }else
      if(i==2 && j==2){
       bi[1][1]=a[2][2];
       C[1][1]=a[2][2];
                     E[1][2]=a[2][2];
       }else
       if(i==2 && j==3){
        bi[1][2]=a[2][3];
        C[1][2]=a[2][3];
        d[1][2]=a[2][3];
       } else
         if(i==3 && j==0){
   C[2][0]=a[3][0];
   d[2][0]=a[3][0];
                        E[2][0]=a[3][0];
   }else
         if(i==3 && j==1){
   bi[2][0]=a[3][1];
   d[2][1]=a[3][1];
          E[2][1]=a[3][1];
   }else


 if(i==3 && j==2){
     bi[2][1]=a[3][2];
     C[2][1]=a[3][2];
                          E[2][2]=a[3][2];
     }else{
     
       bi[2][2]=a[3][3];
       C[2][2]=a[3][3];
                            d[2][2]=a[3][3];
       }
       }
       }
                            }
                           clrscr();
      /* muestra la matriz en pantalla*/
      printf("\n\t\t\t\a PRESIONE ENTER PARA VER LA MATRIZ INGRESADA:");
                           printf("\n\t\t\tPOR FAVOR VERIFIQUELA");
                           getch();
      printf("\n\n\n\t\t\a    esta es la matriz a calcular:\n\n\t\t  ");
      for(i=0;i<4;i++){
       for(j=0;j<4;j++){
                            printf("%8d",a[i][j]);
                            }
                            printf("\n\t\t  ");
                            }


       z=a11(bi);
       c=(1)*(z);
                            printf("\n\t\t a11= (1)|b|\n\n");
                            printf("\n\t\t=================");
       printf("\n\t\t A11= %d",c);
                     printf("\n\t\t==============");
  
       z=a12(C);
        n=(-1)*(z);
       printf("\n\t\t A12= (-1)|b|\n\n");
       printf("\n\t\t=============");
                            printf("\n\t\t A12= %d",n);
                            printf("\n\t\t=============");
       z=a13(d);
                            f=(1)*(z);
       printf("\n\t\t A13= (1)|b|\n\n");
                            printf("\n\t\t===============");
                            printf("\n\t\t A13= %d",f);
                            printf("\n\t\t================");
       z=a14(E);
       w=(-1)*(z);
      
       printf("\n\t\t A14= (-1)|b|\n\n");
       printf("\n\t\t==================");
       printf("\n\t\t A14= %d",w);
                            printf("\n\t\t====================");


      
                      A=(((t)*(c))+((q)*(n))+((r)*(f))+((s)*(w)));
                            printf("\n\n\t\t PRESIONE ENTER PARA VER EL CALCULO DEL DETERMINANTE");
       getch();
                            clrscr();
       printf("\n\t\t CALCULANDO EL DETERMINANTE:");
      printf("\n\t\tpor favor espere.................");
                            printf("\n\n DETERMINANTE CALCULADO PRESIONE ENTER");
                            getch();
                           printf("\n\t\t");
                           printf("\n el determinante de la matriz es:\n\n\t\t");
                            printf("\n========================================\n");
                            printf("|A|= %d",A);
                            printf("\n========================================\n");
                           printf("\n\n\n presione una tecla para continuar:");
                           getch();
                           break;
      }


 }while(op!=5);


       return(0);
                            }


      int a11(int bi[10][10])
      {
      int e=0,i,j,x=0,h=0,s=0,p=0,w=0,m=0,l=0,c=0,k=0,v=0,b=0,z=0;
for(i=0;i<3;i++){
 for(j=0;j<3;j++){
 
  if(i==0 && j==0){
   v=bi[i][j];
   }else
   if(i==0 && j==1){
    e=bi[i][j];
    }else
    if(i==0 && j==2){
     h=bi[i][j];
     }else
     if(i==1 && j==0){
      x=bi[i][j];
      }else
       if(i==1 && j==1){
 s=bi[i][j];
 }else
  if(i==1 && j==2){
   p=bi[i][j];
   }else
    if(i==2 && j==0){
     w=bi[i][j];
     }else
      if(i==2 && j==1){
       m=bi[i][j];
       }else{
              
        l=bi[2][2];
        }
    }
    }
    printf("\n\t\n\t PRESIONE ENTER PARA VER EL CALCULO DE A11");
    getch();
           clrscr();
   
   
    printf("\n\t\t A11     :");
    for(i=0;i<3;i++){
          
     for(j=0;j<3;j++){
             printf("%6d",bi[i][j]);
      }
      printf("\n\t\t          ");
      }
    c=((s*l)-(m*p));
    printf("\n\n\t b11= %d",c);
    k=(-1)*((x*l)-(w*p));
    printf("\n\n\t b12= %d",k);
    b=((x*m)-(w*s));
    printf("\n\n\t b13= %d",b);
           printf("\n\n\t |a|= (%d)(%d)+(%d)(%d)+(%d)(%d)",v,c,e,k,h,b);
    z=(((v)*(c))+((e)*(k))+((h)*(b)));


    return(z);
    }
       
 int a12(int C[10][10])
{
 
     
      int e=0,i,j,x=0,h=0,s=0,p=0,w=0,m=0,l=0,c=0,k=0,v=0,b=0,z=0;
for(i=0;i<3;i++){
 for(j=0;j<3;j++){
 
  if(i==0 && j==0){
   v=C[i][j];
   }else
   if(i==0 && j==1){
    e=C[i][j];
    }else
    if(i==0 && j==2){
     h=C[i][j];
     }else
     if(i==1 && j==0){
      x=C[i][j];
      }else
       if(i==1 && j==1){
 s=C[i][j];
 }else
  if(i==1 && j==2){
   p=C[i][j];
   }else
    if(i==2 && j==0){
     w=C[i][j];
     }else
      if(i==2 && j==1){
       m=C[i][j];
       }else{
              
        l=C[2][2];
        }
    }
    }
     printf("\n\t\n\t PRESIONE ENTER PARA VER EL CALCULO DE A12");
    getch();
           clrscr();
   
   
    printf("\n\t\t A12(-1) :");
    for(i=0;i<3;i++){
          
     for(j=0;j<3;j++){
             printf("%6d",C[i][j]);
      }
      printf("\n\t\t          ");
      }
    c=((s*l)-(m*p));
    printf("\n\n\t b11= %d",c);
    k=(-1)*((x*l)-(w*p));
    printf("\n\n\t b12= %d",k);
    b=((x*m)-(w*s));
    printf("\n\n\t b13= %d",b);
           printf("\n\n\t |a|= (%d)(%d)+(%d)(%d)+(%d)(%d)",v,c,e,k,h,b);
    z=(((v)*(c))+((e)*(k))+((h)*(b)));


    return(z);
    }
   int a13(int d[10][10])
 {


          int e=0,i,j,x=0,h=0,s=0,p=0,w=0,m=0,l=0,c=0,k=0,v=0,b=0,z=0;
for(i=0;i<3;i++){
 for(j=0;j<3;j++){
 
  if(i==0 && j==0){
   v=d[i][j];
   }else
   if(i==0 && j==1){
    e=d[i][j];
    }else
    if(i==0 && j==2){
     h=d[i][j];
     }else
     if(i==1 && j==0){
      x=d[i][j];
      }else
       if(i==1 && j==1){
 s=d[i][j];
 }else
  if(i==1 && j==2){
   p=d[i][j];
   }else
    if(i==2 && j==0){
     w=d[i][j];
     }else
      if(i==2 && j==1){
       m=d[i][j];
       }else{
              
        l=d[2][2];
        }
    }
    }
     printf("\n\t\n\t PRESIONE ENTER PARA VER EL CALCULO DE A13");
    getch();
           clrscr();
   
   
    printf("\n\t\t A13     :");
    for(i=0;i<3;i++){
          
     for(j=0;j<3;j++){
             printf("%6d",d[i][j]);
      }
      printf("\n\t\t          ");
      }
    c=((s*l)-(m*p));
    printf("\n\n\t b11= %d",c);
    k=(-1)*((x*l)-(w*p));
    printf("\n\n\t b12= %d",k);
    b=((x*m)-(w*s));
    printf("\n\n\t b13= %d",b);
           printf("\n\n\t |a|= (%d)(%d)+(%d)(%d)+(%d)(%d)",v,c,e,k,h,b);
    z=(((v)*(c))+((e)*(k))+((h)*(b)));


    return(z);
    }


 int a14(int E[10][10])
 {
 int e=0,i,j,x=0,h=0,s=0,p=0,w=0,m=0,o=0,c=0,u=0,v=0,a=0,z=0;
 for(i=0;i<3;i++){
 for(j=0;j<3;j++){
  if(i==0 && j==0){
   v=E[i][j];
   }else
   if(i==0 && j==1){
    e=E[i][j];
    }else
    if(i==0 && j==2){
     h=E[i][j];
     }else
     if(i==1 && j==0){
      x=E[i][j];
      }else
       if(i==1 && j==1){
 s=E[i][j];
 }else
  if(i==1 && j==2){
   p=E[i][j];
   }else
    if(i==2 && j==0){
     w=E[i][j];
     }else
      if(i==2 && j==1){
       m=E[i][j];
       }else{
        o=E[i][j];
        }
    }
    }
    printf("\n\t\n\t PRESIONE ENTER PARA VER EL CALCULO DE A14");
    getch();
           clrscr();
   
   
    printf("\n\t\t A14(-1) :");
    for(i=0;i<3;i++){
          
     for(j=0;j<3;j++){
             printf("%6d",E[i][j]);
      }
      printf("\n\t\t          ");
             }
    c=((s*o)-(m*p));
    printf("\n\n\t b11= %d",c);
    u=(-1)*((x*o)-(w*p));
    printf("\n\n\t b12= %d",u);
    a=((x*m)-(w*s));
    printf("\n\n\t b13= %d",a);
           printf("\n\n\t |b|= (%d)(%d)+(%d)(%d)+(%d)(%d)",v,c,e,u,h,a);
    z=(((v)*(c))+((e)*(u))+((h)*(a)));
    printf("\n\n\n\t |b|= %d",z);
    return(z);
    }
    void det_2x2(int H[10][10])
    {
      int n,m,f,i,j,g,k,s=0;
             for(i=0;i<2;i++){
             for(j=0;j<2;j++){
             printf("\n elemento a[%d,%d]:",i+1,j+1);
              scanf("%d",&H[i][j]);
              if(i==0 && j==i){
               n=H[i][j];
                 }else
                  if(i==0 && j==1){
                     m=H[i][j];
                     }else
                  if(i==1 && j==0) {
                 f=H[i][j];
                   }else{
                g=H[i][j];
         }
                }
               }
  clrscr();
  printf("\n\t\t esta es la matriz ingresada ....verifiquela\n\n\t\t");
  for(i=0;i<2;i++){
   for(j=0;j<2;j++){
      printf("%4d",H[i][j]);
      }
      printf("\n\t\t");
                    }
                s=((n*g)-(m*f));
      printf("\n\n\t |a|=%d",s);
             printf("\n\n\n presione una tecla para continuar:");
             getch();
             return;
             }


      void det_3x3(int E[10][10])
      {
      int e=0,i,j,x=0,h=0,s=0,p=0,w=0,m=0,l=0,c=0,k=0,v=0,b=0,z=0;
for(i=0;i<3;i++){
 for(j=0;j<3;j++){
  printf("\n elemento A[%d,%d]:",i+1,j+1);
  scanf("%d",&E[i][j]);
  if(i==0 && j==0){
   v=E[i][j];
   }else
   if(i==0 && j==1){
    e=E[i][j];
    }else
    if(i==0 && j==2){
     h=E[i][j];
     }else
     if(i==1 && j==0){
      x=E[i][j];
      }else
       if(i==1 && j==1){
 s=E[i][j];
 }else
  if(i==1 && j==2){
   p=E[i][j];
   }else
    if(i==2 && j==0){
     w=E[i][j];
     }else
      if(i==2 && j==1){
       m=E[i][j];
       }else{
        l=E[i][j];
        }
    }
    }
    clrscr();
    printf("\n esta es la matriz:");
    for(i=0;i<3;i++){
     for(j=0;j<3;j++){
             printf("%6d",E[i][j]);
      }
             printf("\n\t\t   ");
             }
    c=((s*l)-(m*p));
    printf("\n\n\t A11= %d",c);
    k=(-1)*((x*l)-(w*p));
    printf("\n\n\t A12= %d",k);
    b=((x*m)-(w*s));
    printf("\n\n\t A13= %d",b);
           printf("\n\n\t |a|= (%d)(%d)+(%d)(%d)+(%d)(%d)",v,c,e,k,h,b);
    z=(((v)*(c))+((e)*(k))+((h)*(b)));
    printf("\n\n\n\t |A|= %d",z);
           printf("\n\n\n\n\t\t presione una tecla para continuar:");
           getch();
    return;
           }



 



 



DE TRES POR TRES (3*3)




#include<stdio.h>


#include<conio.h>
main()
{
int a[3][3],e=0,i,j,x=0,h=0,s=0,p=0,w=0,m=0,l=0,c=0,k=0,v=0,b=0,z=0;
for(i=0;i<3;i++){
 for(j=0;j<3;j++){
  printf("\n elemento a[%d,%d]:",i+1,j+1);
  scanf("%d",&a[i][j]);
  if(i==0 && j==0){
   v=a[i][j];
   }else
   if(i==0 && j==1){
    e=a[i][j];
    }else
    if(i==0 && j==2){
     h=a[i][j];
     }else
     if(i==1 && j==0){
      x=a[i][j];
      }else
       if(i==1 && j==1){
 s=a[i][j];
 }else
  if(i==1 && j==2){
   p=a[i][j];
   }else
    if(i==2 && j==0){
     w=a[i][j];
     }else
      if(i==2 && j==1){
       m=a[i][j];
       }else{
        l=a[i][j];
        }
    }
    }
           clrscr();
    printf("\n esta es la matriz:");
    for(i=0;i<3;i++){
     for(j=0;j<3;j++){
             printf("%6d",a[i][j]);
      }
             printf("\n\t\t   ");
             }
    c=((s*l)-(m*p));
    printf("\n\n\t A11= %d",c);
    k=(-1)*((x*l)-(w*p));
    printf("\n\n\t A12= %d",k);
    b=((x*m)-(w*s));
    printf("\n\n\t A13= %d",b);
           printf("\n\n\t |a|= (%d)(%d)+(%d)(%d)+(%d)(%d)",v,c,e,k,h,b);
    z=(((v)*(c))+((e)*(k))+((h)*(b)));
    printf("\n\n\n\t |A|= %d",z);
    return(0);
           }