C# :: Aufgabe #199 :: Lösung #1
5 Lösungen
#199
Ermittlung von Zeilen- und Spaltennummer eines 2D-Array-Feldes
Anfänger - C#
von hollst
- 09.02.2018 um 11:03 Uhr
Die Felder eines "unendlich" großen 2D-Arrays seien nach folgendem "Diagonal-Schema" nummeriert:
1 2 4 7 . . .
3 5 8 . . . .
6 9 . . . . .
10 . . . . . .
. . . . . . usw.
Man schreibe ein Programm, das für eine gegebene Feldnummer N die Zeilen- (ZN) und die Spaltennummer (SN) zurückgibt.
Zeilen- und Spaltennummerierungen beginnen wie üblich mit 0.
Beispiele:
N = 8 -> ZN = 1, SN = 2
N = 31 -> ZN = 2, SN = 5
1 2 4 7 . . .
3 5 8 . . . .
6 9 . . . . .
10 . . . . . .
. . . . . . usw.
Man schreibe ein Programm, das für eine gegebene Feldnummer N die Zeilen- (ZN) und die Spaltennummer (SN) zurückgibt.
Zeilen- und Spaltennummerierungen beginnen wie üblich mit 0.
Beispiele:
N = 8 -> ZN = 1, SN = 2
N = 31 -> ZN = 2, SN = 5
#1
von DBqFetti (2480 Punkte)
- 13.02.2018 um 22:22 Uhr
C#-Code
using System; using System.Collections.Generic; using System.Windows; //WindowBase.dll namespace TYP199 { class Program { static void Main() { int n = 8; int[,] a = { { 1, 2, 4 }, { 3, 5, 8 }, }; Point? point = Find(n, a); Console.Write($"N = {n} -> ZN = {point?.X}, SN = {point?.Y}"); Console.ReadKey(true); } static Point? Find<T>(T needle, T[,] heystack) { for(int i = 0; i < heystack.GetLength(0); i++) { for(int ii = 0; ii < heystack.GetLength(1); ii++) { if(EqualityComparer<T>.Default.Equals(heystack[i, ii], needle)) { return new Point(i, ii); } } } return null; } } }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1