program w jezyku C - potega macierzy

ja89
Użytkownik
Użytkownik
Posty: 78
Rejestracja: 19 paź 2008, o 09:34
Płeć: Kobieta
Lokalizacja: z daleka
Podziękował: 1 raz

program w jezyku C - potega macierzy

Post autor: ja89 »

mam do napisania program ktory oblicza macierz podniesiona do danej potegi, funkcje podnoszaca macierz do potegi musze napisac w module... i w tym mam poroblem. Napisalam program normalnie i wsyztsko dziala, wkladajac funkcje do modulu, zle liczy ;/
To moj program :

Kod: Zaznacz cały

#include <stdio.h>


double potega(int p, double a[10][10],double b[10][10]){
       // p-potega, a[10][10]-macierz, b[10][10]-przechowywany jest wynik
      double c[10][10];
      int i,j,s,k,r;
      for(i=0;i<10;i++){
        for(j=0;j<10;j++){
          b[i][j]=a[i][j];
          }
      }                              
      for(r=1;r<p;r++){
        for(i=0;i<10;i++){
          for(j=0;j<10;j++){
            s=0;
              for(k=0;k<10;k++){
                s=s+a[i][k]*b[k][j];
              }
            c[i][j]=s;
          }
        }
        for(i=0;i<10;i++){
          for(j=0;j<10;j++){
            b[i][j]=c[i][j];
          }
        }
        
      } //b[i][j] jest macierza wynikowa
}

main(){
       int i,j,n;
       double a[10][10],b[10][10];
       n=2;
                printf("wczytaj macierz A
");
                for(i=0;i<n;i++){
                   for(j=0;j<n;j++){
                            printf("a[%d][%d]= 
",i,j);
                            scanf("%lf",&a[i][j]);
                   }
                }
                potega(2,a,b);
                  printf("
macierz A po podniesieniu do potegi 2
");
                      for(i=0;i<n;i++){
                        for(j=0;j<n;j++){
                                      printf("%lf ",b[i][j]);
                         }
                       printf("
");
                      }
                  
            
getch();
}
Bardzo prosze o pomoc!!!
jasny
Użytkownik
Użytkownik
Posty: 845
Rejestracja: 2 kwie 2006, o 23:32
Płeć: Mężczyzna
Lokalizacja: Limanowa
Pomógł: 191 razy

program w jezyku C - potega macierzy

Post autor: jasny »

W funkcji potega wszystkie iteracje wykonujesz w pętli sztywno od 0 do 9, także jeśli chcesz przekazać tablicę 2x2 to funkcja przekazuje tablicę 10x10 z nie wiadomo czym w pozostałych polach, i to nie wiadomo co jest brane pod uwagę w mnożeniu. Wystarczy przekazać do funkcji rozmiar macierzy n, i robić pętle od 0 do n-1.
ja89
Użytkownik
Użytkownik
Posty: 78
Rejestracja: 19 paź 2008, o 09:34
Płeć: Kobieta
Lokalizacja: z daleka
Podziękował: 1 raz

program w jezyku C - potega macierzy

Post autor: ja89 »

oo taaak!! Bardzo dziekuje! jest Pan Wielki !!
jasny
Użytkownik
Użytkownik
Posty: 845
Rejestracja: 2 kwie 2006, o 23:32
Płeć: Mężczyzna
Lokalizacja: Limanowa
Pomógł: 191 razy

program w jezyku C - potega macierzy

Post autor: jasny »

Nnno, prawie 2 metry
ODPOWIEDZ