// so es handelt sich um zwei Matrizen
// 1. Einlesen 2. Ausgaben 3. Multi.
Header.h // Deklaration
Calc.cpp // Funktionen
Alles anzeigen
main // hauptprog.
Alles anzeigen
// neu erstellung : ========== Alles neu erstellen: 1 erfolgreich, Fehler bei 0, 0 übersprungen ==========
// nach dem Eingeben der beiden Matrizen stoppt er...also ( meine rMeinung nach ) der Fehler sollte dann ebn bei der Ausgeben Funktion irgendwo sein
:
// 1. Einlesen 2. Ausgaben 3. Multi.
Header.h // Deklaration
Calc.cpp // Funktionen
Quellcode
- #include"global.h"
- void Einlesen( unsigned *x,int n)
- {
- int i,j; // i : zeilen, j : Spalten
- for(i=0;i<n;i++)
- for(j=0;j<n;j++)
- {
- scanf("%d",x+i*n+j); // scanf("%d",x+i*n+j)
- }
- }
- // Ausgabe
- void Ausgeben( unsigned *x, int n)
- {
- int i,j;
- for(i=0;i<n;i++)
- for(j=0;j<n;j++)
- {
- printf("%d",x+i*n+j);
- }
- }
- unsigned Multi(unsigned *x,unsigned *y, unsigned *c, int n)
- {
- int k,i,j;
- unsigned (*(c+k*n+j))=0;
- for(j=0;j<n;j++)
- {
- for(k=0;k<n;k++)
- unsigned (*(c+k*n+j))=0;
- *(c+k*n+j)+= *(x+i*n+k)* *(y+k*n+j);
- }
- return( *(c+k*n+j));
- }
main // hauptprog.
Quellcode
- #include"global.h"
- #include<stdlib.h>
- void main()
- {
- unsigned *x;
- unsigned *y;
- unsigned *c;
- int n;
- // Vorwort
- printf("\n Das Programm rechnet Matriz * Matriz durch \n");
- printf(" geben Sie bitte die Anzahl der Zeilen bzw. Spalten ein\n");
- scanf("%d",&n);
- // Dynamische Erzeugung
- x = (unsigned *) calloc (n*n, sizeof(unsigned));
- y = (unsigned *) calloc (n*n, sizeof(unsigned)); / Dynamische Erzeugnng.
- c = (unsigned *) calloc (n*n, sizeof(unsigned));
- // Einlesen
- printf(" geben Sie bitte die Koordinanten der ersten Matrize ein\n");
- Einlesen(x,n);
- printf(" geben Sie bitte die Koordinanten der zweiten Matrize ein\n\n");
- Einlesen(x,n);
- printf("\n \***************************** Das Ergebnis *****************************\ \n" );
- // Ausgabe
- printf("\n\n Das Ergebnis lautet \n\n");
- Multi(x,y,c,n);
- free(x);
- free(y);
- free(c);
- getchar();
- getchar();
- }
- // Berechnung
// neu erstellung : ========== Alles neu erstellen: 1 erfolgreich, Fehler bei 0, 0 übersprungen ==========
// nach dem Eingeben der beiden Matrizen stoppt er...also ( meine rMeinung nach ) der Fehler sollte dann ebn bei der Ausgeben Funktion irgendwo sein
: