diff --git a/.vs/prog2-ss2020-wienkop/v16/.suo b/.vs/prog2-ss2020-wienkop/v16/.suo index df1080773c9f75875ef2cd652bff328affdfe9b3..707bede9a848e9fa8015cce524b55ac7b64e05b2 100644 Binary files a/.vs/prog2-ss2020-wienkop/v16/.suo and b/.vs/prog2-ss2020-wienkop/v16/.suo differ diff --git a/03BinTree/Program.cs b/03BinTree/Program.cs index ea1f094b84060e0e798634285624da6b81003e31..ad1c66dd1a6014507909463d53a2e9d55cb42eaa 100644 --- a/03BinTree/Program.cs +++ b/03BinTree/Program.cs @@ -29,7 +29,8 @@ namespace _03BinTree BItem item = root; do { - if (Zahl < item.zahl) // links oder rechts? + //if (Zahl == item.zahl) { } + if (Zahl < item.zahl) // echt kleiner! | links oder rechts? { // Linker Teilbaum if (item.kleiner == null) // ist "links" frei? { @@ -39,7 +40,7 @@ namespace _03BinTree else item = item.kleiner; } - else + else // größer-gleich { if (item.groesser == null) // ist "rechts" frei? { @@ -63,22 +64,55 @@ namespace _03BinTree } return false; } - private void Print(BItem item) + + //private void Print(BItem item) + //{ + // if (item != null) + // { + // Console.WriteLine($"{item.kleiner.zahl} - {item.zahl} - {item.groesser.zahl}"); + // } + //} + public void InOrderPrint() { + InOrderPrint(root); + Console.WriteLine(); + } + private void InOrderPrint(BItem item) + { // kleiner - selbst - größer if (item != null) { - if (item.kleiner!= null) - Print(item.kleiner); + Console.Write("( "); + if (item.kleiner != null) + InOrderPrint(item.kleiner); Console.Write(item.zahl + " "); - if (item.groesser!=null) - Print(item.groesser); + if (item.groesser!= null) + InOrderPrint(item.groesser); + Console.Write(") "); } } - public void Print() + public void PreOrderPrint() { - Print(root); + PreOrderPrint(root); Console.WriteLine(); } + private void PreOrderPrint(BItem item) + { // selbst - kleiner - größer + if (item != null) + { + Console.Write("( "); + + Console.Write(item.zahl + " "); + + if (item.kleiner != null) + PreOrderPrint(item.kleiner); + + if (item.groesser != null) + PreOrderPrint(item.groesser); + + Console.Write(") "); + } + } + } class Program { @@ -86,15 +120,13 @@ namespace _03BinTree { BinTree bt = new BinTree(); bt.InsertItem(50); - bt.InsertItem(25); - bt.InsertItem(75); - bt.InsertItem(60); - bt.InsertItem(80); - bt.InsertItem(77); + bt.InsertItem(40); bt.InsertItem(70); - bt.InsertItem(50); + bt.InsertItem(35); + bt.InsertItem(45); + - bt.Print(); + bt.PreOrderPrint(); Console.WriteLine($"Find(77): {bt.FindItem(77)}"); Console.WriteLine($"Find(78): {bt.FindItem(78)}"); } diff --git a/03BinTree/bin/Debug/netcoreapp3.1/03BinTree.dll b/03BinTree/bin/Debug/netcoreapp3.1/03BinTree.dll index 360de67f79d399911907c30cdb4822ccc269949b..ba27d16dba2c64b07186b3644aefb77045490416 100644 Binary files a/03BinTree/bin/Debug/netcoreapp3.1/03BinTree.dll and b/03BinTree/bin/Debug/netcoreapp3.1/03BinTree.dll differ diff --git a/03BinTree/bin/Debug/netcoreapp3.1/03BinTree.pdb b/03BinTree/bin/Debug/netcoreapp3.1/03BinTree.pdb index a5d22992562d7caa404f4d43717fd2180346273e..e23aebc1c0a647826a8bd4e1709f913c073d4f63 100644 Binary files a/03BinTree/bin/Debug/netcoreapp3.1/03BinTree.pdb and b/03BinTree/bin/Debug/netcoreapp3.1/03BinTree.pdb differ diff --git a/03BinTree/obj/Debug/netcoreapp3.1/03BinTree.csprojAssemblyReference.cache b/03BinTree/obj/Debug/netcoreapp3.1/03BinTree.csprojAssemblyReference.cache index e84921a470a178d6c34a6d16975b66db84b52171..475e9f25ddab19c98e99fb9760c6360cd0369394 100644 Binary files a/03BinTree/obj/Debug/netcoreapp3.1/03BinTree.csprojAssemblyReference.cache and b/03BinTree/obj/Debug/netcoreapp3.1/03BinTree.csprojAssemblyReference.cache differ diff --git a/03BinTree/obj/Debug/netcoreapp3.1/03BinTree.dll b/03BinTree/obj/Debug/netcoreapp3.1/03BinTree.dll index 360de67f79d399911907c30cdb4822ccc269949b..ba27d16dba2c64b07186b3644aefb77045490416 100644 Binary files a/03BinTree/obj/Debug/netcoreapp3.1/03BinTree.dll and b/03BinTree/obj/Debug/netcoreapp3.1/03BinTree.dll differ diff --git a/03BinTree/obj/Debug/netcoreapp3.1/03BinTree.pdb b/03BinTree/obj/Debug/netcoreapp3.1/03BinTree.pdb index a5d22992562d7caa404f4d43717fd2180346273e..e23aebc1c0a647826a8bd4e1709f913c073d4f63 100644 Binary files a/03BinTree/obj/Debug/netcoreapp3.1/03BinTree.pdb and b/03BinTree/obj/Debug/netcoreapp3.1/03BinTree.pdb differ diff --git a/11 UebgDiTransformator/Program.cs b/11 UebgDiTransformator/Program.cs index a87ae826719b683531519269547b83ddfc5ba167..b313352cb7d9047194c226baba203b0bf3567a14 100644 --- a/11 UebgDiTransformator/Program.cs +++ b/11 UebgDiTransformator/Program.cs @@ -11,35 +11,44 @@ namespace _11_UebgMoTransformator class Program { - delegate T MeineFkt<T>(T x); - static T[] ApplyAll<T>(MeineFkt<T> fkt, params T[] werte) + delegate void Transformationen<T>(ref T[] x); + + static void Verdichten(ref string [] werte) { - T[] erg = new T[werte.Length]; - Console.Write("APPLY ALL: "); - for (int i = 0; i < werte.Length; i++) + //string[] erg = new string[1]; + //erg[0] = "Anton & Berta"; + //werte = erg; + int anz = werte.Length / 2; + string[] erg = new string[anz]; + for (int i = 0; i < 2 * anz; i += 2) { - erg[i] = fkt(werte[i]); - Console.Write($"{erg[i]} "); + erg[i / 2] = werte[i] + "&" + werte[i + 1]; } - Console.WriteLine(); - return erg; + werte = erg; } - - static void Verdichten(ref string [] werte) + static void Grossbuchstaben(ref string[] werte) { - string[] erg = new string[1]; - erg[0] = "ANTON&BERTA"; - werte = erg; + for (int i = 0; i < werte.Length; i++) + { + werte[i] = werte[i].ToUpper(); + } } + + static Transformationen<string> Transform; + static void Main(string[] args) { Console.WriteLine("Hello World!"); // Anton, Berta, Claudia, Dieter ---> // ANTON, BERTA, CLAUDIA, DIETER ---> // ANTON&BERTA, CLAUDIA&DIETER - string[] namen = { "Anton", "Berta", "Claudia", "Dieter" }; - Verdichten(ref namen); - foreach (var item in namen) + string[] namen = { "Anton", "Berta", "Claudia", "Dieter","Ernst", "Friedrich"}; + + Transform += Grossbuchstaben; + Transform += Verdichten; + + Transform(ref namen); + foreach (var item in namen) Console.WriteLine(item); } } diff --git a/11 UebgDiTransformator/bin/Debug/netcoreapp3.1/11 UebgDiTransformator.dll b/11 UebgDiTransformator/bin/Debug/netcoreapp3.1/11 UebgDiTransformator.dll index 659e1de0c9b3b016338748c34fc22ce80b21ae5b..7505b8e918cf7c7d0ec6e905c84b96b291e95e9c 100644 Binary files a/11 UebgDiTransformator/bin/Debug/netcoreapp3.1/11 UebgDiTransformator.dll and b/11 UebgDiTransformator/bin/Debug/netcoreapp3.1/11 UebgDiTransformator.dll differ diff --git a/11 UebgDiTransformator/bin/Debug/netcoreapp3.1/11 UebgDiTransformator.pdb b/11 UebgDiTransformator/bin/Debug/netcoreapp3.1/11 UebgDiTransformator.pdb index 9cd2e9e0053a123cd49819e75d4adda976d9c38c..e4f6d6e88051e6b62243db55460f3e7e18e5968a 100644 Binary files a/11 UebgDiTransformator/bin/Debug/netcoreapp3.1/11 UebgDiTransformator.pdb and b/11 UebgDiTransformator/bin/Debug/netcoreapp3.1/11 UebgDiTransformator.pdb differ diff --git a/11 UebgDiTransformator/obj/Debug/netcoreapp3.1/11 UebgDiTransformator.csprojAssemblyReference.cache b/11 UebgDiTransformator/obj/Debug/netcoreapp3.1/11 UebgDiTransformator.csprojAssemblyReference.cache index 8a5ef041ae8402be96bf3fc66b33aedfc9a2f5c5..a0fbfd12797557adefa2aaaacd9d5126dec64303 100644 Binary files a/11 UebgDiTransformator/obj/Debug/netcoreapp3.1/11 UebgDiTransformator.csprojAssemblyReference.cache and b/11 UebgDiTransformator/obj/Debug/netcoreapp3.1/11 UebgDiTransformator.csprojAssemblyReference.cache differ diff --git a/11 UebgDiTransformator/obj/Debug/netcoreapp3.1/11 UebgDiTransformator.dll b/11 UebgDiTransformator/obj/Debug/netcoreapp3.1/11 UebgDiTransformator.dll index 659e1de0c9b3b016338748c34fc22ce80b21ae5b..7505b8e918cf7c7d0ec6e905c84b96b291e95e9c 100644 Binary files a/11 UebgDiTransformator/obj/Debug/netcoreapp3.1/11 UebgDiTransformator.dll and b/11 UebgDiTransformator/obj/Debug/netcoreapp3.1/11 UebgDiTransformator.dll differ diff --git a/11 UebgDiTransformator/obj/Debug/netcoreapp3.1/11 UebgDiTransformator.pdb b/11 UebgDiTransformator/obj/Debug/netcoreapp3.1/11 UebgDiTransformator.pdb index 9cd2e9e0053a123cd49819e75d4adda976d9c38c..e4f6d6e88051e6b62243db55460f3e7e18e5968a 100644 Binary files a/11 UebgDiTransformator/obj/Debug/netcoreapp3.1/11 UebgDiTransformator.pdb and b/11 UebgDiTransformator/obj/Debug/netcoreapp3.1/11 UebgDiTransformator.pdb differ diff --git a/11Aufgabe1Posts/Program.cs b/11Aufgabe1Posts/Program.cs index 6456f46997c5f8094abe56563f1f513ba7c3b4f8..994f8f4123afe8fb4a731b2e269cb399813944dd 100644 --- a/11Aufgabe1Posts/Program.cs +++ b/11Aufgabe1Posts/Program.cs @@ -119,8 +119,8 @@ namespace Aufgabe1Posts } Console.WriteLine("----------------"); //postList -= new string("Max"); - postList -= "Moritz"; - foreach (Post post in postList) + postList-="Moritz"; + foreach (Post post in postList-"Max") { Console.WriteLine(post); } diff --git a/11BinTreePersVerwaltung/BinTree.cs b/11BinTreePersVerwaltung/BinTree.cs index f256f0db4e7a2ad90d33737cce4c1d2eedadd50d..18e9b8c4272ad2e9667ed1c55fa374c7470d7e5f 100644 --- a/11BinTreePersVerwaltung/BinTree.cs +++ b/11BinTreePersVerwaltung/BinTree.cs @@ -89,20 +89,19 @@ namespace _11BinTreePersVerwaltung2 if (right != null) right.print(); } - } Node root = null; + public void Print() + { + if (root != null) + root.print(); + } public IEnumerator GetEnumerator() { foreach (T item in root.enumerate()) yield return item; } - public void Print() - { - if (root != null) - root.print(); - } public void Insert(T Data) { @@ -139,9 +138,6 @@ namespace _11BinTreePersVerwaltung2 } while (!found); } } - - } - class BinTree - { } + } diff --git a/11BinTreePersVerwaltung/bin/Debug/11BinTreePersVerwaltung2.exe b/11BinTreePersVerwaltung/bin/Debug/11BinTreePersVerwaltung2.exe index 3780a900871090a8fe025d86a2849d94513f7e7f..73efe1519c33f6ed4260c3f18bb276bbbe0962d6 100644 Binary files a/11BinTreePersVerwaltung/bin/Debug/11BinTreePersVerwaltung2.exe and b/11BinTreePersVerwaltung/bin/Debug/11BinTreePersVerwaltung2.exe differ diff --git a/11BinTreePersVerwaltung/bin/Debug/11BinTreePersVerwaltung2.pdb b/11BinTreePersVerwaltung/bin/Debug/11BinTreePersVerwaltung2.pdb index f7ea6d1313481eabf38700cafbfd6062a2be96f5..52a0591b43b458bf3e9deb1b1f28acd6cc094cde 100644 Binary files a/11BinTreePersVerwaltung/bin/Debug/11BinTreePersVerwaltung2.pdb and b/11BinTreePersVerwaltung/bin/Debug/11BinTreePersVerwaltung2.pdb differ diff --git a/11BinTreePersVerwaltung/obj/Debug/11BinTreePersVerwaltung.csprojAssemblyReference.cache b/11BinTreePersVerwaltung/obj/Debug/11BinTreePersVerwaltung.csprojAssemblyReference.cache index 2ccb88b97552ae15afdcd5effc3c7f157699cb6f..24df8ab71c7fe300bafe3814e087f18338735c85 100644 Binary files a/11BinTreePersVerwaltung/obj/Debug/11BinTreePersVerwaltung.csprojAssemblyReference.cache and b/11BinTreePersVerwaltung/obj/Debug/11BinTreePersVerwaltung.csprojAssemblyReference.cache differ diff --git a/11BinTreePersVerwaltung/obj/Debug/11BinTreePersVerwaltung2.exe b/11BinTreePersVerwaltung/obj/Debug/11BinTreePersVerwaltung2.exe index 3780a900871090a8fe025d86a2849d94513f7e7f..73efe1519c33f6ed4260c3f18bb276bbbe0962d6 100644 Binary files a/11BinTreePersVerwaltung/obj/Debug/11BinTreePersVerwaltung2.exe and b/11BinTreePersVerwaltung/obj/Debug/11BinTreePersVerwaltung2.exe differ diff --git a/11BinTreePersVerwaltung/obj/Debug/11BinTreePersVerwaltung2.pdb b/11BinTreePersVerwaltung/obj/Debug/11BinTreePersVerwaltung2.pdb index f7ea6d1313481eabf38700cafbfd6062a2be96f5..52a0591b43b458bf3e9deb1b1f28acd6cc094cde 100644 Binary files a/11BinTreePersVerwaltung/obj/Debug/11BinTreePersVerwaltung2.pdb and b/11BinTreePersVerwaltung/obj/Debug/11BinTreePersVerwaltung2.pdb differ diff --git a/11Enumerable/Program.cs b/11Enumerable/Program.cs index d925b9a210455cacd55d4e382832829a4df74ce8..b3fa7f42aebe0d172fe573f23287ec8faf36ba72 100644 --- a/11Enumerable/Program.cs +++ b/11Enumerable/Program.cs @@ -5,6 +5,18 @@ using System.Linq; namespace _11Enumerable { + /* + * foreach benötigt IEnumerator GetEnumerator --> Rückgabetyp object oder + * IEnumerator<T> GetEnumerator() --> Rückgabetyp T + * IEnumerable-Interface enthält nur eine Methode: IEnumerator GetEnumerator(); + * IEnumerable<T> enthält die Methode IEnumerator<T> GetEnumerator(), + * erbt aber auch IEnumerable, benötigt somit ZUSÄTZLICH IEnumerator GetEnumerator + * LINQ benötigt IEnumerable, akzeptiert aber auch IEnumerable<T>, da dies ja auch + * IEnumerator GetEnumerator enthält + * Bei Angabe von :IEnumerable<T> verwenden sowohl foreach als auch LINQ IEnumerator<T> GetEnumerator + * --> IEnumerator oder IEnumerator<T> bei GetEnumerator + * --> IEnumerable oder IEnumerable<T> bei eigenen Aufzählungsfunktionen + */ class Aufzaehlung<T> : IEnumerable<T> { T[] data; diff --git a/11Enumerable/bin/Debug/netcoreapp3.1/11Enumerable.dll b/11Enumerable/bin/Debug/netcoreapp3.1/11Enumerable.dll index b4f58e2384dc875be86b73de5442f896cbe4d652..a6fd77e3e3e6a2c2dab2024e55d64594e411e2a4 100644 Binary files a/11Enumerable/bin/Debug/netcoreapp3.1/11Enumerable.dll and b/11Enumerable/bin/Debug/netcoreapp3.1/11Enumerable.dll differ diff --git a/11Enumerable/bin/Debug/netcoreapp3.1/11Enumerable.pdb b/11Enumerable/bin/Debug/netcoreapp3.1/11Enumerable.pdb index a256c4cb10b8709a569a78ac7bbde9bc359def61..3f4a238f59e4d48180213646bbb3f6a11d8a34aa 100644 Binary files a/11Enumerable/bin/Debug/netcoreapp3.1/11Enumerable.pdb and b/11Enumerable/bin/Debug/netcoreapp3.1/11Enumerable.pdb differ diff --git a/11Enumerable/obj/Debug/netcoreapp3.1/11Enumerable.csprojAssemblyReference.cache b/11Enumerable/obj/Debug/netcoreapp3.1/11Enumerable.csprojAssemblyReference.cache index a0fbfd12797557adefa2aaaacd9d5126dec64303..75c16613d637ba1aee3feac158410536d13849e8 100644 Binary files a/11Enumerable/obj/Debug/netcoreapp3.1/11Enumerable.csprojAssemblyReference.cache and b/11Enumerable/obj/Debug/netcoreapp3.1/11Enumerable.csprojAssemblyReference.cache differ diff --git a/11Enumerable/obj/Debug/netcoreapp3.1/11Enumerable.dll b/11Enumerable/obj/Debug/netcoreapp3.1/11Enumerable.dll index b4f58e2384dc875be86b73de5442f896cbe4d652..a6fd77e3e3e6a2c2dab2024e55d64594e411e2a4 100644 Binary files a/11Enumerable/obj/Debug/netcoreapp3.1/11Enumerable.dll and b/11Enumerable/obj/Debug/netcoreapp3.1/11Enumerable.dll differ diff --git a/11Enumerable/obj/Debug/netcoreapp3.1/11Enumerable.pdb b/11Enumerable/obj/Debug/netcoreapp3.1/11Enumerable.pdb index a256c4cb10b8709a569a78ac7bbde9bc359def61..3f4a238f59e4d48180213646bbb3f6a11d8a34aa 100644 Binary files a/11Enumerable/obj/Debug/netcoreapp3.1/11Enumerable.pdb and b/11Enumerable/obj/Debug/netcoreapp3.1/11Enumerable.pdb differ