Black Evil
In Memory of Torsten G.
- Registriert
- 5. Juli 2004
- Reaktionspunkte
- 21
Hallo !
Hier gibts doch bestimmt jemanden, der sich mit C auskennt. Momentan bin ich grad dabei, eine Matrizenmultiplikation zu realisieren, hab dabei aber leider ein kleines Problem : Das Unterprogramm ! Da es sich um zweidimensionale Feldern (Arrays) handelt, weiß ich nicht, wie man korrekt die Übergabewerte definiert bzw. Initialisiert. Vieleicht kann ja jemand helfen :
Hier gibts doch bestimmt jemanden, der sich mit C auskennt. Momentan bin ich grad dabei, eine Matrizenmultiplikation zu realisieren, hab dabei aber leider ein kleines Problem : Das Unterprogramm ! Da es sich um zweidimensionale Feldern (Arrays) handelt, weiß ich nicht, wie man korrekt die Übergabewerte definiert bzw. Initialisiert. Vieleicht kann ja jemand helfen :
#include <stdio.h>
int matC [5][5];
int k;
//void matmulti ();
//****************************************************Hauptprogramm ANFANG****************************************************************
int main () {
int i =0;
int j =0;
printf("Matrizenmultiplikation\n");
printf("maximale Dimension der Matrizen 5 x 5 \n");
// Einlesen der Matrizenkoordinaten
int matA [5][5]; //Zweidimensionales Feld mit 5 Zeilen und 5 Spalten angelegt
for (i=0;i<5;i++) {
for (j=0; j<5; j++)
{
matA[j] = 0; // Hiermit wird die Matrize komplett auf 0 gesetzt
for(j=0;j<5;j++) {
printf("Zeilenweise Eingabe der Koordinaten Matritze A:");
scanf("%d", &matA[j]);
}
}
}
int matB [5][5]; //Zweidimensionales Feld mit 5 Zeilen und 5 Spalten angelegt
for (i=0;i<5;i++){
for (j=0; j<5; j++)
{
matB[j] = 0; // Hiermit wird die Matrize komplett auf 0 gesetzt
for(j=0;j<5;j++){
printf("Zeilenweise Eingabe der Koordinaten Matritze B:");
scanf("%d", &matB[j]);
}
}
}
//Unterprogramm aufrufen
matmulti (int matA[][5],int matB[][5] ) //Richtig ?? Es müssen doch eigendlich matA und matB als Übergabeparameter gelten
return 0 ;
} // main Ende
//****************************************************Hauptprogramm ENDE****************************************************************
//****************************************************Unterprogramm ANFANG**********************************************************
//Unterprogramm zur Matzizenmultiplikation
void matmulti (int matA[][5],int matB[][5]){
int matC [5][5];
int i;
int j;
int k;
for (i=0; i<5; i++)
{
for (j=0; j<5; j++)
{
matC[j] = 0; // Hiermit wird die Matrize komplett auf 0 gesetzt
for (k=0; k<5; k++)
{
matC[j] += matA[k] * matB[k][j];
}
}
}
// Ausgabe des Ergebnisses
printf(" Ergebnis-Matrix:\n");
for (i=0; i<5; i++)
{
for (j=0; j<5; j++)
{
printf("%d", matC[j]);
}
printf("\n");
}
}
//****************************************************Unterprogramm ENDE**********************************************************