From 43f82dcf63000adb44e146da6384017638c20dc1 Mon Sep 17 00:00:00 2001
From: wienkop <uwe.wienkop@th-nuernberg.de>
Date: Tue, 16 Nov 2021 11:41:36 +0100
Subject: [PATCH] Alles bis Ende Woche 07, Funktionen u. Felder

---
 05 Uebung_Mo/Program.cs                       |   1 +
 06 Felder02/06 Felder02.csproj                |   9 ++
 06 Felder02/Program.cs                        |  39 ++++++
 06 FelderIntro/06 FelderIntro.csproj          |   9 ++
 06 FelderIntro/Program.cs                     |  68 +++++++++
 06 Kleinkram/06 Kleinkram.csproj              |   9 ++
 06 Kleinkram/Program.cs                       |  72 ++++++++++
 06 Uebung_Di/06 Uebung_Di.csproj              |   9 ++
 06 Uebung_Di/Program.cs                       |  55 ++++++++
 .../07 Array_Anwendungen.csproj               |   9 ++
 07 Array_Anwendungen/Program.cs               | 132 ++++++++++++++++++
 07 ArraysByRef/07 ArraysByRef.csproj          |   9 ++
 07 ArraysByRef/Program.cs                     |  40 ++++++
 .../07 DoubleUngenauigkeiten.csproj           |   9 ++
 07 DoubleUngenauigkeiten/Program.cs           |  20 +++
 Prog1_WS2021_22.sln                           |  46 +++++-
 16 files changed, 534 insertions(+), 2 deletions(-)
 create mode 100644 06 Felder02/06 Felder02.csproj
 create mode 100644 06 Felder02/Program.cs
 create mode 100644 06 FelderIntro/06 FelderIntro.csproj
 create mode 100644 06 FelderIntro/Program.cs
 create mode 100644 06 Kleinkram/06 Kleinkram.csproj
 create mode 100644 06 Kleinkram/Program.cs
 create mode 100644 06 Uebung_Di/06 Uebung_Di.csproj
 create mode 100644 06 Uebung_Di/Program.cs
 create mode 100644 07 Array_Anwendungen/07 Array_Anwendungen.csproj
 create mode 100644 07 Array_Anwendungen/Program.cs
 create mode 100644 07 ArraysByRef/07 ArraysByRef.csproj
 create mode 100644 07 ArraysByRef/Program.cs
 create mode 100644 07 DoubleUngenauigkeiten/07 DoubleUngenauigkeiten.csproj
 create mode 100644 07 DoubleUngenauigkeiten/Program.cs

diff --git a/05 Uebung_Mo/Program.cs b/05 Uebung_Mo/Program.cs
index 0fb8c24..3a46ad1 100644
--- a/05 Uebung_Mo/Program.cs	
+++ b/05 Uebung_Mo/Program.cs	
@@ -28,6 +28,7 @@ namespace _05_Uebung_Mo
             // Veränderung in der aufgerufenen Funktion optional
             // Zusicherung an die aufgerufene Funktion, dass der Var.Wert
             //      sinnvoll ist
+            // Verwendungsbeispiel: Übergabe eines großen Bildes
 
             // Übergabe per out
             // Übergebene Variable muss nicht vor der Verwendung initialisiert sein
diff --git a/06 Felder02/06 Felder02.csproj b/06 Felder02/06 Felder02.csproj
new file mode 100644
index 0000000..f38f2f3
--- /dev/null
+++ b/06 Felder02/06 Felder02.csproj	
@@ -0,0 +1,9 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <OutputType>Exe</OutputType>
+    <TargetFramework>netcoreapp3.1</TargetFramework>
+    <RootNamespace>_06_Felder02</RootNamespace>
+  </PropertyGroup>
+
+</Project>
diff --git a/06 Felder02/Program.cs b/06 Felder02/Program.cs
new file mode 100644
index 0000000..5bea0e3
--- /dev/null
+++ b/06 Felder02/Program.cs	
@@ -0,0 +1,39 @@
+using System;
+
+namespace _06_Felder02
+{
+    class Program
+    {
+        static void TeilbarDurch20(int [] feld)
+        {
+            for (int i = 0; i < feld.Length; i++)
+            {
+                if (feld[i] % 20 == 0)
+                    Console.WriteLine(feld[i]);
+                else
+                    feld[i]++;
+            }
+            feld = new int[10];
+            feld[1] = 1024;
+                
+        }
+
+        static void Main(string[] args)
+        {
+            int[] f = { 10,20,30,40,50,60};
+            int[] g;
+            // g = f;  Legt nur eine WEITERE REFERENZ auf f an!
+            // f UND g verweisen auf DASSELBE FELD
+
+            g = new int[f.Length];
+            for (int i = 0; i < f.Length; i++)
+                g[i] = f[i];
+
+
+            TeilbarDurch20(f);
+
+            string[] sf;
+            sf = new string[5];
+        }
+    }
+}
diff --git a/06 FelderIntro/06 FelderIntro.csproj b/06 FelderIntro/06 FelderIntro.csproj
new file mode 100644
index 0000000..da78a00
--- /dev/null
+++ b/06 FelderIntro/06 FelderIntro.csproj	
@@ -0,0 +1,9 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <OutputType>Exe</OutputType>
+    <TargetFramework>netcoreapp3.1</TargetFramework>
+    <RootNamespace>_06_FelderIntro</RootNamespace>
+  </PropertyGroup>
+
+</Project>
diff --git a/06 FelderIntro/Program.cs b/06 FelderIntro/Program.cs
new file mode 100644
index 0000000..8a7cfa9
--- /dev/null
+++ b/06 FelderIntro/Program.cs	
@@ -0,0 +1,68 @@
+using System;
+
+namespace _06_FelderIntro
+{
+    class Program
+    {
+
+        static string TelNr(string name)
+        {
+            string[] namen = { "Meier", "Schneider", "Huber", "Schuster", "Wienkop", "Schneider" };
+            string[] telNr = { "xxxxx", "1111", "yyyyy", "zzzzzzzz", "1614" , "2222"};
+
+            for (int i = 0; i < namen.Length; i++)  // Durchlauf über alle Feldelemente
+            {
+                if (name == namen[i])   // Befindet sich der gesuchte Name im Namensfeld an Pos. i
+                    return telNr[i];
+            }
+            return  "Name nicht gefunden!";
+        }
+
+        static string[] MultiTelNr(string name)
+        {
+            string[] namen = { "Meier", "Schneider", "Huber", "Schuster", "Wienkop", "Schneider" };
+            string[] telNr = { "xxxxx", "1111", "yyyyy", "zzzzzzzz", "1614", "2222" };
+
+            int anz = 0;
+            for (int i = 0; i < namen.Length; i++)  // Durchlauf über alle Feldelemente
+                if (namen[i].Contains(name))   // Befindet sich der gesuchte Name im Namensfeld an Pos. i
+                    anz++;
+            // Hier wissen wir: Es gibt anz-viele Treffer
+
+            if (anz == 0)       // Gibt es überhaupt (irgendwelche) Treffer?
+                return null;    // Nein: null-Referenz zurückliefern
+
+            string[] ergTelNr = new string[anz];    // Feld mit genau der richtigen Anzahl anlegen
+            int k = 0;                              // Weiterer Index k
+            for (int i = 0; i < namen.Length; i++)  // Durchlauf über alle Feldelemente
+            {
+                if (namen[i].Contains(name))   // Befindet sich der gesuchte Name im Namensfeld an Pos. i
+                {
+                    ergTelNr[k++] = telNr[i];   // Erst wird der (alte) Wert von
+                        // k verwendet und dann k um eins erhöht.
+                    //k++;
+                }
+            }
+            return ergTelNr;        // Gibt das ganze Feld zurück
+            //return "Name nicht gefunden!";
+        }
+        static void Main(string[] args)
+        {
+            int z1, z2, z3, z4, z5;
+            int[] z = { 70, 25, 20, 45, 50, 10, 80, 90, 100, 85, 95 };
+            int a = z[0]; // = 10
+            z[3] = 44;
+
+            // .Length = Anzahl der Elemente des Feldes
+            for (int i = 0; i < z.Length; i++)
+            {
+                Console.WriteLine($"{i,2}: {z[i]}");
+            }
+
+            MultiTelNr("Elektro");
+            //Console.WriteLine(TelNr("Wienkop"));
+            //Console.WriteLine(TelNr("xxxxxxxxxxxxx"));
+            //Console.WriteLine(TelNr("Schneider"));
+        }
+    }
+}
diff --git a/06 Kleinkram/06 Kleinkram.csproj b/06 Kleinkram/06 Kleinkram.csproj
new file mode 100644
index 0000000..6989cfb
--- /dev/null
+++ b/06 Kleinkram/06 Kleinkram.csproj	
@@ -0,0 +1,9 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <OutputType>Exe</OutputType>
+    <TargetFramework>netcoreapp3.1</TargetFramework>
+    <RootNamespace>_06_Kleinkram</RootNamespace>
+  </PropertyGroup>
+
+</Project>
diff --git a/06 Kleinkram/Program.cs b/06 Kleinkram/Program.cs
new file mode 100644
index 0000000..e7502ef
--- /dev/null
+++ b/06 Kleinkram/Program.cs	
@@ -0,0 +1,72 @@
+using System;
+
+namespace _06_Kleinkram
+{
+    class Program
+    {
+        static int Minimum(int a, int b)
+        {
+            return (a < b) ? a : b;
+        }
+
+        static int Maximum(int a, int b) => (a > b) ? a : b;
+
+        static void BreakContinue()
+        {
+            while (true)
+            {
+                // ...
+                if (Console.ReadLine() == "Nein")
+                    break;
+                // ...
+                if (Console.ReadLine() == "noch einmal")
+                    continue;   // Bricht den weiteren Schleifenrumpf ab
+                                // und springt wieder zum Schleifenkopf
+                // ...
+            }
+        }
+
+        static void Main(string[] args)
+        {
+            int auswahl = 2; // Convert.ToInt32(Console.ReadLine())
+            if (auswahl==1)
+                Console.WriteLine("Tue #1");
+            else if (auswahl==2)
+                Console.WriteLine("Tue #2");
+            else
+                Console.WriteLine("Nichts Passendes ausgewählt!");
+
+            switch (auswahl)
+            {
+                case 1: Console.WriteLine("Tue #1");
+                    break;
+                case 2:
+                case 3:
+                    Console.WriteLine("Tue #2");
+                    break;
+                default:
+                    Console.WriteLine("Nichts Passendes ausgewählt");
+                    break;
+            }
+
+
+            ////////////////////////////////////////////////////////////
+            ///
+
+            int a = 3, b = 5;
+            int min;
+
+            if (a < b)
+                min = a;
+            else
+                min = b;
+
+            min = (a < b) ? a : b;      // Bedingter Ausdruck
+            Console.WriteLine((a<b) ? a : b);
+
+            int persAnz = 1;
+            Console.WriteLine($"Es befinden sich {persAnz} {((persAnz==1) ? "Person" : "Personen")} in diesem Raum");
+
+        }
+    }
+}
diff --git a/06 Uebung_Di/06 Uebung_Di.csproj b/06 Uebung_Di/06 Uebung_Di.csproj
new file mode 100644
index 0000000..f18a71e
--- /dev/null
+++ b/06 Uebung_Di/06 Uebung_Di.csproj	
@@ -0,0 +1,9 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <OutputType>Exe</OutputType>
+    <TargetFramework>netcoreapp3.1</TargetFramework>
+    <RootNamespace>_06_Uebung_Di</RootNamespace>
+  </PropertyGroup>
+
+</Project>
diff --git a/06 Uebung_Di/Program.cs b/06 Uebung_Di/Program.cs
new file mode 100644
index 0000000..0a7ec7c
--- /dev/null
+++ b/06 Uebung_Di/Program.cs	
@@ -0,0 +1,55 @@
+using System;
+
+namespace _06_Uebung_Di
+{
+    class Program
+    {
+        static string TelNrSuchen(string name)
+        {
+            string[] namen = { "Meier", "Schneider", "Schuster", "Wienkop", "Schneider" };
+            string[] telNr = { "1111", "2222", "3333", "4444", "5555" };
+
+            for (int i = 0; i < namen.Length; i++)
+            {
+                if (name == namen[i])
+                    return telNr[i];   // Beendet die for-Schleife und liefert
+            }                          // die gesuchte TelNr zurück
+            return null;
+        }
+        static string[] MultiTelNrSuchen(string name)
+        {
+            string[] namen = { "Meier", "Schneider", "Schuster", "Wienkop", "Schneider" };
+            string[] telNr = { "1111", "2222", "3333", "4444", "5555" };
+
+            // SCHRITT 1: Zählen der Matches
+            int anz = 0;
+            for (int i = 0; i < namen.Length; i++)
+                if (namen[i].Contains(name))
+                    anz++;
+
+            // SCHRITT 2: Feld der passenden Größe anfordern
+            string[] ergTelNr = new string[anz];
+
+            // SCHRITT 3: Nochmal suchen und dabei TelNrn. der Matches kopieren
+            for (int i = 0, n = 0; i < namen.Length; i++)
+            {
+                if (namen[i].Contains(name))
+                {
+                    ergTelNr[n++] = namen[i]+": "+telNr[i];    
+                    // Speichere an Pos n und erhöhe DANACH n um 1
+                }                          
+
+            }
+            return ergTelNr;
+        }
+        static void Main(string[] args)
+        {
+            string[] erg = MultiTelNrSuchen("n");
+            // for (int i = 0; i < erg.Length && erg[i] != null; i++)
+            for (int i = 0; i < erg.Length; i++)
+            {
+                Console.WriteLine(erg[i]);
+            }
+        }
+    }
+}
diff --git a/07 Array_Anwendungen/07 Array_Anwendungen.csproj b/07 Array_Anwendungen/07 Array_Anwendungen.csproj
new file mode 100644
index 0000000..13994d0
--- /dev/null
+++ b/07 Array_Anwendungen/07 Array_Anwendungen.csproj	
@@ -0,0 +1,9 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <OutputType>Exe</OutputType>
+    <TargetFramework>netcoreapp3.1</TargetFramework>
+    <RootNamespace>_07_Array_Anwendungen</RootNamespace>
+  </PropertyGroup>
+
+</Project>
diff --git a/07 Array_Anwendungen/Program.cs b/07 Array_Anwendungen/Program.cs
new file mode 100644
index 0000000..bef91e4
--- /dev/null
+++ b/07 Array_Anwendungen/Program.cs	
@@ -0,0 +1,132 @@
+using System;
+using System.Collections.Generic;
+
+namespace _07_Array_Anwendungen
+{
+    class Program
+    {
+        static int[] GeradeZahlen(params int[] zahlenfeld)
+        {
+            // SCHRITT 1: Ergebniselemente zählen
+            int anzahl = 0;
+            foreach (int z in zahlenfeld)
+            {
+                if (z % 2 == 0)
+                    anzahl++;
+            }
+
+            // SCHRITT 2: Feld mit der passenden Größe anlegen
+            int[] erg = new int[anzahl];
+
+            // SCHRITT 3: Ergebniselemente kopieren
+            int i = 0;
+            foreach (int z in zahlenfeld)
+            {
+                if (z %2==0)
+                    erg[i++] = z;
+            }
+            return erg;
+        }
+
+        static int[] GeradeZahlenMitListe(int[] zahlenfeld)
+        {
+            // SCHRITT 2: Liste anlegen
+            //int[] erg = new int[anzahl];
+            List<int> erg = new List<int>();
+
+            // SCHRITT 3: Ergebniselemente kopieren
+            foreach (int z in zahlenfeld)
+            {
+                if (z % 2 == 0)
+                    erg.Add(z);     // z am Listenende anfügen
+            }
+            return erg.ToArray();  // Liste in ein Feld konvertieren
+        }
+
+        static void ErweitereFeld(ref int[] feld)
+        {
+            int[] feldNeu = new int[feld.Length + 1];
+            for (int i = 0; i < feld.Length; i++)
+                feldNeu[i] = feld[i];
+            feld = feldNeu;
+        }
+
+        static int Minimum(params int[]zahlenfeld)
+        {
+            //int min = int.MaxValue;
+            int min = zahlenfeld[0];        // Annahme: min steht im ersten Feldelement
+
+            for (int i = 1; i < zahlenfeld.Length; i++)
+            {
+                if (zahlenfeld[i] < min)    // Gibt es ein kleineres Element?
+                    min = zahlenfeld[i];
+            }
+            return min;
+        }
+
+        static int MinIndex(params int[] zahlenfeld)
+        {
+            //int min = int.MaxValue;
+            int minIndex = 0;        // Annahme: min steht im ersten Feldelement
+
+            for (int i = 1; i < zahlenfeld.Length; i++)
+            {
+                if (zahlenfeld[i] < zahlenfeld[minIndex])    // Gibt es ein kleineres Element?
+                    minIndex = i;
+            }
+            return minIndex;
+        }
+
+        static void Sortieren(int[] feld)
+        {
+            // WIEDERHOLE:
+            //     MinIndex bestimmen
+            //     Wenn nicht an erster Pos: Dann mit Element an erster Pos. tauschen
+            //     WEITER MIT RESTFELD
+            for (int k = 0; k < feld.Length-1; k++)
+                // Schleife bis zum VORLETZTEN ELEMENT
+                // k: Anfang des jeweiligen Restfeldes
+            {
+                int minIndex = k;        // Annahme: min steht im ersten Feldelement
+                for (int i = k+1; i < feld.Length; i++)
+                {
+                    if (feld[i] < feld[minIndex])    // Gibt es ein kleineres Element?
+                        minIndex = i;
+                }
+                // Bestimme den Index an dem das Minimum (des Restfelds) zu finden ist
+
+                // Wenn nicht an passender (k) Pos: Dann mit Element an k Pos. tauschen
+                if (minIndex != k)
+                {
+                    int temp = feld[k];
+                    feld[k] = feld[minIndex];
+                    feld[minIndex] = temp;
+                }
+            }
+        }
+
+        static void Main(string[] args)
+        {
+            int[] h = { 5,4,2,1,3};
+            int[] g; // = new int[h.Length];
+
+            g = GeradeZahlen(h);
+            g = GeradeZahlen(new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 });
+            g = GeradeZahlen(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
+            Console.WriteLine($"Minimum: {Minimum(1, 2, 0, 4, 5)}");
+            Console.WriteLine($"MinIndex: {MinIndex(1, 2, 0, 4, 5)}");
+            Console.WriteLine($"MinIndex: {MinIndex(0, 2, 0, 4, 5)}");
+            Console.WriteLine("Die Summe von {0} und {1} ist {2}", 3,5,3+5);
+
+            Console.WriteLine("------------");
+
+            Sortieren(h);
+
+            //ErweitereFeld(ref h);
+            for (int i = 0; i < h.Length; i++)
+            {
+                Console.WriteLine(h[i]);
+            }
+        }
+    }
+}
diff --git a/07 ArraysByRef/07 ArraysByRef.csproj b/07 ArraysByRef/07 ArraysByRef.csproj
new file mode 100644
index 0000000..f7d70b5
--- /dev/null
+++ b/07 ArraysByRef/07 ArraysByRef.csproj	
@@ -0,0 +1,9 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <OutputType>Exe</OutputType>
+    <TargetFramework>netcoreapp3.1</TargetFramework>
+    <RootNamespace>_07_ArraysByRef</RootNamespace>
+  </PropertyGroup>
+
+</Project>
diff --git a/07 ArraysByRef/Program.cs b/07 ArraysByRef/Program.cs
new file mode 100644
index 0000000..4e3fdaf
--- /dev/null
+++ b/07 ArraysByRef/Program.cs	
@@ -0,0 +1,40 @@
+using System;
+
+namespace _07_ArraysByRef
+{
+    class Program
+    {
+        static void StreicheUngeradeZahlen(ref int[] zahlenfeld)
+        {
+            // SCHRITT 1: Ergebniselemente zählen
+            int anzahl = 0;
+            foreach (int z in zahlenfeld)
+            {
+                if (z % 2 == 0)
+                    anzahl++;
+            }
+
+            // SCHRITT 2: Feld mit der passenden Größe anlegen
+            int[] erg = new int[anzahl];
+
+            // SCHRITT 3: Ergebniselemente kopieren
+            int i = 0;
+            foreach (int z in zahlenfeld)
+            {
+                if (z % 2 == 0)
+                    erg[i++] = z;
+            }
+            zahlenfeld = erg ;
+        }
+
+        static void Main(string[] args)
+        {
+            int[] h = { 1, 2, 3, 4, 5, 6, 7, 8 };
+            StreicheUngeradeZahlen(ref h);
+            foreach (var item in h)
+            {
+                Console.WriteLine(item);
+            }
+        }
+    }
+}
diff --git a/07 DoubleUngenauigkeiten/07 DoubleUngenauigkeiten.csproj b/07 DoubleUngenauigkeiten/07 DoubleUngenauigkeiten.csproj
new file mode 100644
index 0000000..5bf40c1
--- /dev/null
+++ b/07 DoubleUngenauigkeiten/07 DoubleUngenauigkeiten.csproj	
@@ -0,0 +1,9 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <OutputType>Exe</OutputType>
+    <TargetFramework>netcoreapp3.1</TargetFramework>
+    <RootNamespace>_07_DoubleUngenauigkeiten</RootNamespace>
+  </PropertyGroup>
+
+</Project>
diff --git a/07 DoubleUngenauigkeiten/Program.cs b/07 DoubleUngenauigkeiten/Program.cs
new file mode 100644
index 0000000..5d23811
--- /dev/null
+++ b/07 DoubleUngenauigkeiten/Program.cs	
@@ -0,0 +1,20 @@
+using System;
+
+namespace _07_DoubleUngenauigkeiten
+{
+    class Program
+    {
+        static void Main(string[] args)
+        {
+            Console.WriteLine(2 + 3);
+            Console.WriteLine(2.0 + 3.0);
+
+            double sum = 0.0;
+            while (sum != 1.0)
+            {
+                sum += 0.1;
+                Console.WriteLine(sum);
+            }
+        }
+    }
+}
diff --git a/Prog1_WS2021_22.sln b/Prog1_WS2021_22.sln
index 03ac1cc..186374f 100644
--- a/Prog1_WS2021_22.sln
+++ b/Prog1_WS2021_22.sln
@@ -39,9 +39,23 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "04 Uebung_Di", "04 Uebung_D
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "04 Funktionen_2", "04 Funktionen_2\04 Funktionen_2.csproj", "{258D6D4B-BECB-44FA-A15A-2C310EBD9477}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "05 Uebung_Mo", "05 Uebung_Mo\05 Uebung_Mo.csproj", "{BCD60EC3-A134-48B8-8A40-093C3702D748}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "05 Uebung_Mo", "05 Uebung_Mo\05 Uebung_Mo.csproj", "{BCD60EC3-A134-48B8-8A40-093C3702D748}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "05 Datentyp_Char", "05 Datentyp_Char\05 Datentyp_Char.csproj", "{30CD32DF-7134-492E-8F48-BB5A8B473B51}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "05 Datentyp_Char", "05 Datentyp_Char\05 Datentyp_Char.csproj", "{30CD32DF-7134-492E-8F48-BB5A8B473B51}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "06 Kleinkram", "06 Kleinkram\06 Kleinkram.csproj", "{4A559D92-1435-4E6E-9FAD-A4F0C4E97153}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "06 FelderIntro", "06 FelderIntro\06 FelderIntro.csproj", "{24DB0F7C-A042-4240-A647-823FDFC1E6A6}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "06 Uebung_Di", "06 Uebung_Di\06 Uebung_Di.csproj", "{0914B111-3180-45E4-BE40-7CBC694E1210}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "06 Felder02", "06 Felder02\06 Felder02.csproj", "{8DA65877-14EC-4AC0-8087-7566511D3C05}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "07 Array_Anwendungen", "07 Array_Anwendungen\07 Array_Anwendungen.csproj", "{6D80065B-6750-422D-9EB0-B15B00C6D591}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "07 ArraysByRef", "07 ArraysByRef\07 ArraysByRef.csproj", "{20991EFE-5ABF-4176-B115-8430D4487392}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "07 DoubleUngenauigkeiten", "07 DoubleUngenauigkeiten\07 DoubleUngenauigkeiten.csproj", "{982D3EE4-33F6-48B9-8E8A-68DCCDFA3A84}"
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -129,6 +143,34 @@ Global
 		{30CD32DF-7134-492E-8F48-BB5A8B473B51}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{30CD32DF-7134-492E-8F48-BB5A8B473B51}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{30CD32DF-7134-492E-8F48-BB5A8B473B51}.Release|Any CPU.Build.0 = Release|Any CPU
+		{4A559D92-1435-4E6E-9FAD-A4F0C4E97153}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{4A559D92-1435-4E6E-9FAD-A4F0C4E97153}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{4A559D92-1435-4E6E-9FAD-A4F0C4E97153}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{4A559D92-1435-4E6E-9FAD-A4F0C4E97153}.Release|Any CPU.Build.0 = Release|Any CPU
+		{24DB0F7C-A042-4240-A647-823FDFC1E6A6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{24DB0F7C-A042-4240-A647-823FDFC1E6A6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{24DB0F7C-A042-4240-A647-823FDFC1E6A6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{24DB0F7C-A042-4240-A647-823FDFC1E6A6}.Release|Any CPU.Build.0 = Release|Any CPU
+		{0914B111-3180-45E4-BE40-7CBC694E1210}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{0914B111-3180-45E4-BE40-7CBC694E1210}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{0914B111-3180-45E4-BE40-7CBC694E1210}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{0914B111-3180-45E4-BE40-7CBC694E1210}.Release|Any CPU.Build.0 = Release|Any CPU
+		{8DA65877-14EC-4AC0-8087-7566511D3C05}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{8DA65877-14EC-4AC0-8087-7566511D3C05}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{8DA65877-14EC-4AC0-8087-7566511D3C05}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{8DA65877-14EC-4AC0-8087-7566511D3C05}.Release|Any CPU.Build.0 = Release|Any CPU
+		{6D80065B-6750-422D-9EB0-B15B00C6D591}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{6D80065B-6750-422D-9EB0-B15B00C6D591}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{6D80065B-6750-422D-9EB0-B15B00C6D591}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{6D80065B-6750-422D-9EB0-B15B00C6D591}.Release|Any CPU.Build.0 = Release|Any CPU
+		{20991EFE-5ABF-4176-B115-8430D4487392}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{20991EFE-5ABF-4176-B115-8430D4487392}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{20991EFE-5ABF-4176-B115-8430D4487392}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{20991EFE-5ABF-4176-B115-8430D4487392}.Release|Any CPU.Build.0 = Release|Any CPU
+		{982D3EE4-33F6-48B9-8E8A-68DCCDFA3A84}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{982D3EE4-33F6-48B9-8E8A-68DCCDFA3A84}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{982D3EE4-33F6-48B9-8E8A-68DCCDFA3A84}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{982D3EE4-33F6-48B9-8E8A-68DCCDFA3A84}.Release|Any CPU.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
-- 
GitLab