Skocz do zawartości

[C]Program w C


flippy3d

Polecane posty

mam problem z programem chce aby mi wymnozyl macierze wczytane z pliku kod wyglada tak , no po wymnozeniu nie wyhodzi mi to co ma wyjsc , problem z tym mnozeniem nie wiem jak poukladac petle for

 #include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
#define n 300

void odczytpliku(char *naz,int **A,int **B,int *a,int *b)
{
  int i,j;         
  FILE *fp;
  fp=fopen(naz,"rw");

 fscanf(fp,"%dx%d",a,b) ; 

  for(i=0;i<*a;i++)
  for(j=0;j<*b;j++)
 {      
         fscanf(fp,"%d",&A[i][j]);  

        } 


  for(i=0;i<*b;i++)
  for(j=0;j<*a;j++)
 {      
         fscanf(fp,"%d",&B[i][j]);  

        } 
        }
void wypisz_informacje(int **A,int **B,int **C,int *a,int *b)

{
    int i,j;
    for (i=0;i<*a;i++)
     {printf("\n");
     for(j=0;j<*b;j++){

printf("%d ",A[i][j]);
}}  printf("\n");
for (i=0;i<*b;i++)
     {printf("\n");
     for(j=0;j<*a;j++){

printf("%d ",B[i][j]);
}} 
printf("\n");

for (i=0;i<*b;i++)
     {printf("\n");
     for(j=0;j<*b;j++){

printf("%4d",C[i][j]);
}} 


}
void mnozenie(int **A,int **B,int **C,int *a,int *b){
    int i,j,k;

for(i=0; i<5; i++)
{
  for(j=0; j<5; j++)
    {
      C[i][j]=0;
        for(k=0; k<5; k++)
         {
          C[i][j] += A[i][k] * B[k][j];
        }
    }
}
}






main()
{char naz[20];
      int **A;
      int **B;
      int **C;
      int i,a,b;
      printf("nazwa pliku\n");
     gets(naz);
       A=malloc(n*sizeof(int));
        for(i=0;i<n;i++){
       A[i]=malloc(n*sizeof(int));
       }
       B=malloc(n*sizeof(int));
        for(i=0;i<n;i++){
       B[i]=malloc(n*sizeof(int));
       }
         C=malloc(n*sizeof(int));
        for(i=0;i<n;i++){
       C[i]=malloc(n*sizeof(int));
       }

      odczytpliku(naz,A,B,&a,&b);    
      mnozenie(A,B,C,&a,&b);
        wypisz_informacje(A,B,C,&a,&b);

     getchar();
       //wczytaj_dane(td,&ile2,naz);
       return 0;
}

 

 

w pliku jest cos takiego

 

3x4

2 4 6 7

5 7 4 8

5 6 5 9

 

7 5 3

9 6 4

3 2 5

1 0 9

Link do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

×
×
  • Utwórz nowe...