Einführung.Es ist sehr häufig, sich mit tabellarischen Daten zu befassen, wenn es um Informationen geht. Heute ' s Programme arbeiten oft mit solchen Daten. Das einfachste Beispiel ist das Schieduling von Spielen auf einem Käfigbrett: Vernetzer, Schach, Schuh, etc.
In der Mathematik werden solche Strukturen Mathematik genannt.Matrix - dies ist ein rechteckiger Tisch, der aus Elementen eines Typs besteht (Schienen, Linien usw.). Solche Daten in C# können in Form von zweidimensionalen Massen gespeichert und verarbeitet werden. Um die Daten in der Tabelle zu verarbeiten, muss der Zustand jeder Zelle erinnert werden. Jede Zelle hat zwei Zahlen: die Zeilennummer und die Spaltennummer. In der Matrix weist jedes Element zwei Indizes auf: zuerst wird die Zeilennummer angegeben, dann die Spaltennummer. Die Nummerierung von Zeilen und Spalten beginnt bei Null. Zum Beispiel Element A[1, 2] - dieses Element befindet sich in der zweiten Linie und der dritten Spalte.Wie bei konventionellen Massen, um mit den Matrizen zu arbeiten, muss man lernen, wie man sie baut, injiziert, verarbeitet und abschirmt.Erstellen Sie eine Matrix.Es ist möglich.Speicher einer bestimmten Größe Matrix gefüllt mit einigen Anfangswerten.
int[,] array = new int[4, 2]; // 4 строки, 2 столбца Sobald die Matrix festgelegt ist, kann sie mit beliebigen Werten gefüllt werden. Da jedes Element zwei Indizes aufweist, ist es notwendig, die angewandten Zyklen zu verwenden.for (int i=1; i <= N, i++) { // N - число строк
for (int j=1; j <= N, j++) { // M - число столбцов
A[i, j] = ...
}
} Legen Sie die Matrix auf dem Bildschirm.Zwei Zyklen werden in der Regel verwendet, um die Liste zu bearbeiten und zurückzuziehen. erster Zyklus auf der Zeilennummer, zweiter Zyklus auf den Elementen innerhalb der Zeile.Um die Matrix scharf auf den Bildschirm zu stellen, indem die Anzahl der Lücken innerhalb einer Zeile geteilt wird, muss ein solches Fragment geschrieben werden:for (int i=1; i <= N, i++) {
for (int j=1; j <= N, j++) {
Console.Write(A[i, j] + " ");
}
Console.WriteLine(); // переход на новую строку
}
Das gleiche kann getan werden, aber die Zyklen sind nicht Index, sondern Listenwerte. (foreach ) Sehen Sie, ob Sie ein Teilprogramm schreiben können, das dies tut.
|
Füllen Sie die Matrix mit der Tastatur.Lassen Sie das Programm einen Zwei-Quadrat im Eingang bekommen,nLinien jedermMeißel getrennt durch Lücken. Wie zählen Sie sie? Zum Beispiel: int[,] array = new int[n,m]; // создаем массив, который будем заполнять
for (int i = 0; i < n; i++)
{
string A = Console.ReadLine(); // считываем строку
int[] curr = A.Split(' ').Select(int.Parse).ToArray(); // преобразуем эту строку в одномерный массив curr
for (int j = 0; j < m; j++)
{
array[i, j] = curr[j]; // заполняем строку нужного нам массива значениями из массива curr
}
}
|
Jedes Element der Matrix hat zwei Indexe, so dass alle Elemente in einen Zyklus umgewandelt werden müssen. Üblicherweise wird die Matrix in Zeilen umgewandelt: Der äußere Zyklus wählt die String-Indizes und die internen Spaltenindizes. Aber wenn nötig können die Matrix und die Spalten verändert werden, dann ändern sich die Zyklen.
|