MATRIX: namespace MATRIX
using System;
using Matrix_2;
namespace Matrix
{
/// <summary>
/// Zusammenfassung für Class1.
/// </summary>
class Class1
{/// <summary>
/// Der Haupteinstiegspunkt für die Anwendung.
/// </summary>
//Globale Variablen, innerhalb von Class1 überall gültig
private static int MaxZ=10;
private static int MaxS=10;
private static int z=3;
private static int s=3;
[STAThread]
static void Tausche(ref int a,ref int b)
{int zw=a;
a=b;
b=zw;}
static void LiesMatrix(int[,] m)
{for(int i=0;i<z;i++)
{for(int j=0;j<s;j++)
{Console.Write("Element[{0},{1}]: ",i+1,j+1);
m[i,j]=Convert.ToInt32(Console.ReadLine());}
}
}
static void SchreibMatrix(int[,] m)
{for(int i=0;i<z;i++)
{for(int j=0;j<s;j++)
{//Console.WriteLine("Element[{0},{1}]: {2}",i+1,j+1,m[i,j]);
//"Formatierte Ausgabe"if(j<s-1)
{Console.Write("{0} ",m[i,j]);
}
else
{Console.Write("{0}\n",m[i,j]);
}
}
}
}
static void SkalMult(int[,] m,int f)
{for(int i=0;i<z;i++)
{for(int j=0;j<s;j++)
{m[i,j]=m[i,j]*f;
}
}
}
static void TransMatrix(int[,] m)
{int[,] hilf=new int[MaxZ,MaxS];
//Schreiben der transponierten Hilfsmatrix
for(int i=0;i<z;i++)
{for(int j=0;j<s;j++)
{hilf[j,i]=m[i,j];
}
}
//Kopieren der Hilfsmatrix auf m
for(int i=0;i<MaxZ;i++)
{for(int j=0;j<MaxS;j++)
{m[i,j]=hilf[i,j];
}
}
//Setzen der Dimension
Tausche(ref z,ref s);}
static void Main(string[] args)
{int[,] mat=new int[MaxZ,MaxS];
int wahl;
int faktor;
char _wahl;
Console.WriteLine("M*A*T*R*I*X\n***********\n");
//Definition der 1.Matrix
Console.Write("Zeilenanzahl [<{0}]: ",MaxZ);
z=Convert.ToInt32(Console.ReadLine());
Console.Write("Spaltenanzahl [<{0}]: ",MaxS);
s=Convert.ToInt32(Console.ReadLine());
//Eingabe
Console.WriteLine("Geben Sie die Matrix ein: ");
LiesMatrix(mat);
Console.WriteLine("\n\nIhre Matrix:\n");
SchreibMatrix(mat);
do
{Console.WriteLine("\nBitte wählen Sie:\n");
Console.WriteLine("Matrix mit einer Zahl multiplizieren...[1]");
Console.Write("Matrix transponieren...................[2]\n\nIhre Wahl: ");
wahl=Convert.ToInt16(Console.ReadLine());
switch(wahl)
{case 1:
Console.Write("\nFaktor: ");
faktor=Convert.ToInt32(Console.ReadLine());
SkalMult(mat,faktor);
Console.WriteLine("\n\nIhre Matrix:\n");
SchreibMatrix(mat);
break;case 2:
TransMatrix(mat);
Console.WriteLine("\n\nIhre Matrix:\n");
SchreibMatrix(mat);
break;default:
Console.WriteLine("Ungültige Wahl!");
break;}
do
{Console.Write("Weitere Berechnung...[w]\nEnde................[e]: ");
_wahl=Convert.ToChar(Console.ReadLine());}while(_wahl!='w'&&_wahl!='e');
}while(_wahl=='w');
//Proceduraufruf mit Namespace.Klasse.Methode
Class2.Tschuess();}
}
}
NAMESPACE: namespace Matrix_2
using System;
namespace Matrix_2
{
/// <summary>
/// Zusammenfassung für Class2.
/// </summary>
public class Class2
{public Class2()
{//
// TODO: Fügen Sie hier die Konstruktorlogik hinzu
//}
public static void Tschuess()
{Console.WriteLine("\nT*S*C*H*Ü*S*S\n\n");
Console.ReadLine();}
}
}