blikk info infothek forum galerie sitemap

Determinantenverfahren

anfang zurueck weiter ende nach oben

Lösung mit Arrays:


using
System;

using
System.Collections.Generic;

using
System.Text;

namespace
Sarrus

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("***Berechnung nach Sarrus mit einer 3*4 Matrix***");

//(1)

double[,] wert = new double[3, 4];

//(2)

for (int i = 0; i < 4; i++)

{

//(3)

for (int j = 0; j < 3; j++)

{

//(4)

switch (i)

{

case 0: Console.Write("Geben sie den " + (j + 1) + ". X-Wert ein: "); break;

case 1: Console.Write("Geben sie den " + (j + 1) + ". Y-Wert ein: "); break;

case 2: Console.Write("Geben sie den " + (j + 1) + ". Z-Wert ein: "); break;

case 3: Console.Write("Geben sie den " + (j + 1) + ". D-Wert ein: "); break;

}

//(5)

wert[j, i] =
Convert.ToDouble(Console.ReadLine());



}

}

//(6)

double ergebnisD = wert[0, 0] * wert[1, 1] * wert[2, 2] + wert[0, 1] * wert[1, 2] * wert[2, 0] + wert[0, 2] * wert[1, 0] * wert[2, 1] - wert[0, 1] * wert[1, 0] * wert[2, 2] - wert[0, 0] * wert[1, 2] * wert[2, 1] - wert[0, 2] * wert[1, 1] * wert[2, 0];

double ergebnisDx = wert[0, 3] * wert[1, 1] * wert[2, 2] + wert[0, 1] * wert[1, 2] * wert[2, 3] + wert[0, 2] * wert[1, 3] * wert[2, 1] - wert[0, 1] * wert[1, 3] * wert[2, 2] - wert[0, 3] * wert[1, 2] * wert[2, 1] - wert[0, 2] * wert[1, 1] * wert[2, 3];

double ergebnisDy = wert[0, 0] * wert[1, 3] * wert[2, 2] + wert[0, 3] * wert[1, 2] * wert[2, 0] + wert[0, 2] * wert[1, 0] * wert[2, 3] - wert[0, 3] * wert[1, 0] * wert[2, 2] - wert[0, 0] * wert[1, 2] * wert[2, 3] - wert[0, 2] * wert[1, 3] * wert[2, 0];

double ergebnisDz = wert[0, 0] * wert[1, 1] * wert[2, 3] + wert[0, 1] * wert[1, 3] * wert[2, 0] + wert[0, 3] * wert[1, 0] * wert[2, 1] - wert[0, 1] * wert[1, 0] * wert[2, 3] - wert[0, 0] * wert[1, 3] * wert[2, 1] - wert[0, 3] * wert[1, 1] * wert[2, 0];

//(7)

Console.WriteLine(" D = " + ergebnisD);

Console.WriteLine(" Dx = " + ergebnisDx);

Console.WriteLine(" Dy = " + ergebnisDy);

Console.WriteLine(" Dz = " + ergebnisDz+"n");

Console.WriteLine("ERGEBNISSE");

Console.WriteLine("x = " + (ergebnisDx / ergebnisD) + "nn");

Console.WriteLine("y = " + (ergebnisDy / ergebnisD) + "n");

Console.WriteLine("z = " + ergebnisDz / ergebnisD);

Console.ReadLine();

}

}

}


Die Darstellung in der Konsole ist sehr schlecht, weil die Formatierungs hier nicht Funktionieren
nach oben
punkt   seitenbereich schließen

Seitentitel

(1) Deklarierung eines 2D Array.

(2) for-Schleife für alle Spalten.

(3)for-Schleife für alle Zeilen.

(4) Switch Anweisung hilft anzugeben ob der Wert ein X,Y,Z oder D-Wert ist.

(5)Hier bekommt der Array bei jedem durch lauf der Schleife einen neuen Wert, die er alle abspeichert.

(6)Berechnung nach Sarrus

(7)Letzte Berechnung von D und Dx zu x usw. und Ausgabe der Ergebnisse


Struktogramm zu diesem Programm


Programm ausführen(exe-Datei)


 

Peter und Philipp