Puissance d'une matrice en langage c

                                                 


         


      Puissance d'une matrice en langage c


puissance d'une matrice en langage c







***************************Code source ***************************





///Author: Karara Mohamed  @   tutodev1.blogspot.com/
#include <stdio.h>
#include <stdlib.h>

void lecture(int  (*t)[50],int *lig,int *col)
 {
  int l,c;
   printf("nombre de lignes de la matrice ?");
  scanf("%d",lig);
  printf("nombre de colonnes de la matrice ?");
  scanf("%d",col);
  for (l=0;l<*lig;l++) for(c=0;c<*col;c++)
   {
    printf("élément [%d,%d] : ",l,c);
    scanf("%d",&t[l][c]);
   }
 }
void produit(int (*s)[50],int (*a)[50],int m,int l,int pui)
 {
  int i,z,j,p,c[50][50];
  for (i=0;i<m;i++)for(j=0;j<l;j++)
   {
                  s[i][j]=a[i][j];
   }
  for(p=0;p<pui;p++){
   for(i=0;i<m;i++){
    for(j=0;j<l;j++)
      for(z=0;z<l;z++)
        c[i][j]+=s[i][z]*a[z][j];
                    }
    for (i=0;i<m;i++)for(j=0;j<l;j++)
                        {
                            s[i][j]=c[i][j];
                            c[i][j]=0;

                        }

                  }

 }
int main()
{
    int T[50][50],lig,col,l,c,R[50][50],pui,choix;

    do{     printf("\n\n\t\tDonne votre choix\n");
            printf("\t\t1_lecture de matrice.\n");
            printf("\t\t2_Degre\n");
            printf("\t\t3_quit\n");
            printf("\t\t");
            scanf("%d",&choix);
            switch(choix)
            {
                case 1:{lecture(T,&lig,&col);system("cls");}break;
                case 2:{printf("Donner le P de A :");
                           scanf("%d",&pui);
                           produit(R,T,lig,col,pui-1);
                            for (l=0;l<lig;l++){ for(c=0;c<col;c++)
                                   {
                          printf("[%d,%d]=%d ",l,c,R[l][c]);
                                  }
                                 printf("\n");
                                 }
                          system("pause>NULL");
                           }break;
                  default :printf("Erreur");
            }

        system("cls");

    }while(choix<3);
    return 0;
}


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