Loresoft Software-Development
   
Hauptmenü
Artikel
Artikelsuche
 
Titel: Die Matrix
Beschreibung: Matrix: Mehrdimensionale Felder Aufbau, Erklärung + Beispiel
Kategorie: Programmierung
Unterkategorie C/C++
 
Artikel überarbeiten: Die Matrix
 
Hat Ihnen die Seite weitergeholfen?
sehr gut sehr schlecht




Die Matrix
Mehrdimensionale Felder oder kurz Matrix, lassen sich dadurch realisieren,
dass man jede Dimension separat in eckigen Klammern angibt. Beispielsweise
definiert
int M [3] [2] ;
ein Feld M mit 3x2 = 6 Werten vom Typ int. Die Initialisierung könnte
beispielsweise folgendermaßen aussehen.
int M [3] [2] = { // [3] [2] = Dreierfeld 2 mal
erzeugen

{ 0, 1, 2 },

{ 3, 4, 5 }

}
Allerdings ist es nicht erforderlich, die geschweiften Klammern doppelt zu
verschachteln. Die folgende Darstellung ist dazu äquivalent (aber
unübersichtlicher).
int M [3] [2] = { 0, 1, 2, 3, 4, 5 };



Auch beim Zugriff auf die Elemente eines mehrdimensionalen Feldes müssen alle
Indizes in separaten eckigen Klammern angegeben werden. Als Beispiel betrachten
wir die Multiplikation einer Matrix mit einem Vektor.

main(){
const int Zeilenzahl =4;
const int Spaltenzahl =3;
double m [ Zeilenzahl ] [ Spaltenzahl ] ;
double x [ Spaltenzahl ] , y [ Zeilenzahl ] ;
int i, j; double sum;

//Matrix einlesen
for (i=0; i<Zeilenzahl; i=i+l) for (j=0; j<Spaltenzahl; j=j+1){
cout << "Geben Sie m[" << i+1 << ","
<< j+1 << "] ein"
<< endl;
cin >> m [i] [j] ;
}

//Vektor x einlesen
for (i=0; i<Spaltenzahl; i=i+1) {
cout << "Geben Sie x[" << i << "] ein" << endl;
cin >> x [i] ;
}

// Berechnung von y=m*x
for (i=0; i< Zeilenzahl; i=i+1) {
// Berechnung von y[i]
sum=0;
for (j=0; j<Spaltenzahl; j=j+1)
sum = sum + m [i] [j] * x [j] ; y[i] = sum;

//Ausgabe von y als Zeilenvektor
cout << "y=( ";
for (i=0; i<Zeilenzahl; i=i+1) {
cout y[i] ;
if (i<Zeilenzahl-1)
cout << " , ";
}
cout ")";
}


aktuelle Seitenaufbauzeit: 103.91 ms.