Ich versuche klare Funktionen zu verwenden, um eine Matrixmultiplikation mit zufällig generierten Werten durchzuführen. Daher hoffe ich, eine Funktion (mat_def
) zu verwenden, um die Matrizen zu erzeugen, und eine andere Funktion (mat_mul
), um sie zu multiplizieren, wenn die Matrizen als Parameter gesendet werden.Matrix - zurückgeben und als Parameter übergeben C++
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
using namespace std;
double mat_def(int n) //how to return the matrix
{
double a[n][n];
double f;
for(int i=0; i<n; i++)
{
for(int j=0; j<n; j++)
{
f= rand();
cout<<f ;
a[i][j]=f;
}
}
return 0;
}
double mat_mul(int n, double a[n][n], double b[n][n]) //how to send matrix as parameter
{
return 0;
}
int main()
{
/* initialize random seed: */
srand (time(NULL));
mat_def(10);
}
Was ist Ihre Frage? Möchten Sie wissen, wie man zwei Matrizen oder etwas anderes multipliziert? –
Es gibt viele Möglichkeiten, eine Matrix-Klasse in C++ zu implementieren. Klassisch, Nachschlagen Überladen des ':: operator []' und Zurückgeben eines Verweises auf eine innere Klasse, die auch ':: operator []' überlädt, so dass Sie die tatsächliche Matrix-Syntax haben können. – jiveturkey
Fragen für Sie: Sind die Größen der Matrizen zur Kompilierzeit bekannt? Wird erwartet, dass die Matrizen nur quadratische Matrizen sind? –