diff --git a/20241115/ConsoleApp1/.vs/ConsoleApp1/FileContentIndex/7344d4b1-6633-4fa1-91e4-97bdda222cfd.vsidx b/20241115/ConsoleApp1/.vs/ConsoleApp1/FileContentIndex/7344d4b1-6633-4fa1-91e4-97bdda222cfd.vsidx new file mode 100644 index 0000000..ca6e491 Binary files /dev/null and b/20241115/ConsoleApp1/.vs/ConsoleApp1/FileContentIndex/7344d4b1-6633-4fa1-91e4-97bdda222cfd.vsidx differ diff --git a/20241115/ConsoleApp1/.vs/ConsoleApp1/v17/.suo b/20241115/ConsoleApp1/.vs/ConsoleApp1/v17/.suo new file mode 100644 index 0000000..47686a7 Binary files /dev/null and b/20241115/ConsoleApp1/.vs/ConsoleApp1/v17/.suo differ diff --git a/20241115/ConsoleApp1/.vs/ConsoleApp1/v17/DocumentLayout.backup.json b/20241115/ConsoleApp1/.vs/ConsoleApp1/v17/DocumentLayout.backup.json new file mode 100644 index 0000000..51d7706 --- /dev/null +++ b/20241115/ConsoleApp1/.vs/ConsoleApp1/v17/DocumentLayout.backup.json @@ -0,0 +1,41 @@ +{ + "Version": 1, + "WorkspaceRootPath": "C:\\Users\\szabomarton\\Desktop\\C#\\ProgaOra\\20241115\\ConsoleApp1\\", + "Documents": [ + { + "AbsoluteMoniker": "D:0:0:{0C022033-93CD-46A0-9DB0-C29BDD826D96}|ConsoleApp1\\ConsoleApp1.csproj|c:\\users\\szabomarton\\desktop\\c#\\progaora\\20241115\\consoleapp1\\consoleapp1\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{0C022033-93CD-46A0-9DB0-C29BDD826D96}|ConsoleApp1\\ConsoleApp1.csproj|solutionrelative:consoleapp1\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + } + ], + "DocumentGroupContainers": [ + { + "Orientation": 0, + "VerticalTabListWidth": 256, + "DocumentGroups": [ + { + "DockedWidth": 200, + "SelectedChildIndex": 0, + "Children": [ + { + "$type": "Document", + "DocumentIndex": 0, + "Title": "Program.cs", + "DocumentMoniker": "C:\\Users\\szabomarton\\Desktop\\C#\\ProgaOra\\20241115\\ConsoleApp1\\ConsoleApp1\\Program.cs", + "RelativeDocumentMoniker": "ConsoleApp1\\Program.cs", + "ToolTip": "C:\\Users\\szabomarton\\Desktop\\C#\\ProgaOra\\20241115\\ConsoleApp1\\ConsoleApp1\\Program.cs", + "RelativeToolTip": "ConsoleApp1\\Program.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-11-15T08:57:25.456Z", + "EditorCaption": "" + }, + { + "$type": "Bookmark", + "Name": "ST:0:0:{cce594b6-0c39-4442-ba28-10c64ac7e89f}" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/20241115/ConsoleApp1/.vs/ConsoleApp1/v17/DocumentLayout.json b/20241115/ConsoleApp1/.vs/ConsoleApp1/v17/DocumentLayout.json new file mode 100644 index 0000000..51d7706 --- /dev/null +++ b/20241115/ConsoleApp1/.vs/ConsoleApp1/v17/DocumentLayout.json @@ -0,0 +1,41 @@ +{ + "Version": 1, + "WorkspaceRootPath": "C:\\Users\\szabomarton\\Desktop\\C#\\ProgaOra\\20241115\\ConsoleApp1\\", + "Documents": [ + { + "AbsoluteMoniker": "D:0:0:{0C022033-93CD-46A0-9DB0-C29BDD826D96}|ConsoleApp1\\ConsoleApp1.csproj|c:\\users\\szabomarton\\desktop\\c#\\progaora\\20241115\\consoleapp1\\consoleapp1\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{0C022033-93CD-46A0-9DB0-C29BDD826D96}|ConsoleApp1\\ConsoleApp1.csproj|solutionrelative:consoleapp1\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + } + ], + "DocumentGroupContainers": [ + { + "Orientation": 0, + "VerticalTabListWidth": 256, + "DocumentGroups": [ + { + "DockedWidth": 200, + "SelectedChildIndex": 0, + "Children": [ + { + "$type": "Document", + "DocumentIndex": 0, + "Title": "Program.cs", + "DocumentMoniker": "C:\\Users\\szabomarton\\Desktop\\C#\\ProgaOra\\20241115\\ConsoleApp1\\ConsoleApp1\\Program.cs", + "RelativeDocumentMoniker": "ConsoleApp1\\Program.cs", + "ToolTip": "C:\\Users\\szabomarton\\Desktop\\C#\\ProgaOra\\20241115\\ConsoleApp1\\ConsoleApp1\\Program.cs", + "RelativeToolTip": "ConsoleApp1\\Program.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2024-11-15T08:57:25.456Z", + "EditorCaption": "" + }, + { + "$type": "Bookmark", + "Name": "ST:0:0:{cce594b6-0c39-4442-ba28-10c64ac7e89f}" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/20241115/ConsoleApp1/ConsoleApp1.sln b/20241115/ConsoleApp1/ConsoleApp1.sln new file mode 100644 index 0000000..f70eacb --- /dev/null +++ b/20241115/ConsoleApp1/ConsoleApp1.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.11.35303.130 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ConsoleApp1", "ConsoleApp1\ConsoleApp1.csproj", "{0C022033-93CD-46A0-9DB0-C29BDD826D96}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {0C022033-93CD-46A0-9DB0-C29BDD826D96}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0C022033-93CD-46A0-9DB0-C29BDD826D96}.Debug|Any CPU.Build.0 = Debug|Any CPU + {0C022033-93CD-46A0-9DB0-C29BDD826D96}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0C022033-93CD-46A0-9DB0-C29BDD826D96}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {9778D8DD-C43F-4161-9350-1A072A4972D5} + EndGlobalSection +EndGlobal diff --git a/20241115/ConsoleApp1/ConsoleApp1/App.config b/20241115/ConsoleApp1/ConsoleApp1/App.config new file mode 100644 index 0000000..56efbc7 --- /dev/null +++ b/20241115/ConsoleApp1/ConsoleApp1/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/20241115/ConsoleApp1/ConsoleApp1/ConsoleApp1.csproj b/20241115/ConsoleApp1/ConsoleApp1/ConsoleApp1.csproj new file mode 100644 index 0000000..4f7fc0c --- /dev/null +++ b/20241115/ConsoleApp1/ConsoleApp1/ConsoleApp1.csproj @@ -0,0 +1,53 @@ + + + + + Debug + AnyCPU + {0C022033-93CD-46A0-9DB0-C29BDD826D96} + Exe + ConsoleApp1 + ConsoleApp1 + v4.7.2 + 512 + true + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/20241115/ConsoleApp1/ConsoleApp1/Program.cs b/20241115/ConsoleApp1/ConsoleApp1/Program.cs new file mode 100644 index 0000000..38aceaa --- /dev/null +++ b/20241115/ConsoleApp1/ConsoleApp1/Program.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ConsoleApp1 +{ + internal class Program + { + static void Main(string[] args) + { + } + } +} diff --git a/20241115/ConsoleApp1/ConsoleApp1/Properties/AssemblyInfo.cs b/20241115/ConsoleApp1/ConsoleApp1/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..751f7de --- /dev/null +++ b/20241115/ConsoleApp1/ConsoleApp1/Properties/AssemblyInfo.cs @@ -0,0 +1,33 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("ConsoleApp1")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("ConsoleApp1")] +[assembly: AssemblyCopyright("Copyright © 2024")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("0c022033-93cd-46a0-9db0-c29bdd826d96")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/20241115/ConsoleApp1/ConsoleApp1/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs b/20241115/ConsoleApp1/ConsoleApp1/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs new file mode 100644 index 0000000..3871b18 --- /dev/null +++ b/20241115/ConsoleApp1/ConsoleApp1/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] diff --git a/20241115/ConsoleApp1/ConsoleApp1/obj/Debug/ConsoleApp1.csproj.AssemblyReference.cache b/20241115/ConsoleApp1/ConsoleApp1/obj/Debug/ConsoleApp1.csproj.AssemblyReference.cache new file mode 100644 index 0000000..126ed02 Binary files /dev/null and b/20241115/ConsoleApp1/ConsoleApp1/obj/Debug/ConsoleApp1.csproj.AssemblyReference.cache differ diff --git a/20241115/ConsoleApp1/ConsoleApp1/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/20241115/ConsoleApp1/ConsoleApp1/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache new file mode 100644 index 0000000..a7723e4 Binary files /dev/null and b/20241115/ConsoleApp1/ConsoleApp1/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ diff --git a/20241115/Képernyőkép 2024-11-15 094805.jpg b/20241115/Képernyőkép 2024-11-15 094805.jpg new file mode 100644 index 0000000..b201025 Binary files /dev/null and b/20241115/Képernyőkép 2024-11-15 094805.jpg differ diff --git a/20241115/demo.cs b/20241115/demo.cs new file mode 100644 index 0000000..cf978d6 --- /dev/null +++ b/20241115/demo.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.IO; +//using System.Threading.Tasks; + +namespace ConsoleApp1 +{ + class Demo{ + public string Szoveg{get;set;} + public int Szam{get;set;} + + public Demo(){ + Szoveg = ""; + Szam = -1; + } + + public Demo(string szoveg, int szam){ + Szoveg = szoveg; + Szam = szam; + } + } + + internal class Program + { + static void Main(string[] args) + { + var tomb = new Demo[4]; + tomb[0] = new Demo("Teszt", 42); + + tomb[3] = new Demo(){ + Szoveg = "Masik", + Szam = 11 + }; + + foreach (var item in tomb) + { + if (item == null){ + Console.WriteLine("null"); + } else{ + Console.WriteLine("{0} {1}", item.Szoveg, item.Szam); + } + } + + Console.ReadLine(); + } + } +} + diff --git a/20241115/demo.exe b/20241115/demo.exe new file mode 100644 index 0000000..80489e4 Binary files /dev/null and b/20241115/demo.exe differ diff --git a/adatstrukturak b/adatstrukturak index d0c555e..6422d6d 100644 --- a/adatstrukturak +++ b/adatstrukturak @@ -67,3 +67,72 @@ Tömb Ezen adattagok beállítására továbbra is a konstruktor szintaxis használható. Az osztályokat + +Tömbök kezelését segítő metódusok + + Length{ get;} + + long Length{get;} + Visszaadja az aktuális tömb elemeinek a számát hosszú egész típusban. + Akkor jön jól, ha nagyon nagy méretű tömböket szeretnénk kezelni. + + int Rank{get;} + Visszaadja a tömb dimenzióinak a számát + + Ezen tulajdonságokon kívül az Array osztály számos statikus metódust tartalmaz, + amelyeket felhasználhatunk tömbök kezelésére. + Ezek közül a leghasznosabbak és legfontosabbak: + Array.Clear(Array array, int index,int length); + + Array.Copy(Array sourceArray, Array destinationArray, int length); + Array.Copy(Array sourceArray, Array destinationArray, long length); + //harmadik paraméter a másolandó elemek száma + + Array.Copy(Array sourceArray, int sourceIndex, Array destinationArray, int destinationIndex, int length); + + int Array.IndexOf(Array array, object value); + int Array.IndexOf(Array array, object value, int startIndex); + + int Array.LastIndexOf(Array array, object value); + int Array.LastIndexOf(Array array, object value, int startIndex); + + Array.Reverse(Array array); + Array.Reverse(Array array, int index, int length); + // második elem a kezdőelem indexét adja meg, a harmadik az elemk számát adja meg + + Array.Sort(Array array); + //Akkor ha az IComperable implem,entálva van + + Array.Sort(Array keys, Array items); + //Két tömb elemeinek a sorbarendezése, méghozzá úgy,hogy az első paraméterként megadott tömb kulcsokat tartalmaz, + //amelyhez a második paraméterként megadott tömb értékek társulnak. + +Adatstruktúra interfészek + A kollekciókhoz kapcsolódó interfészek közül az egyik legfontosabb az IEnumerable interfész. + Ez teszi lehetővé, hpgy mindegyik kollekción implementáéciótól függetlenül végig tudjuk uteráléni egy foreach ciklussal. + + Az absztrakció következő szintje az IReadOnlyCollection és a ICollection interfészek. + Az ICollection egy módosítható kollekciót ír le aminek at elemei törölhetőek és bővíthetőek. + A IReadOnlyCollection pedig egy olyat,amiből csak olvasni tudunk, de tudjuk az elemek számát. + + Az olyan típusok esetén, mint a lista halmaz és ... meg van valósítva mind a kettő. + +Láncolt lista + A tömb adatszerkezet kiváló, ha előre tudjuk, hogy menni elemre van szükségünk. + A bővítés csak úgy lehetséges,ha létrehozunk egy újabb tömböt, aminek a mérete a hozzáadandó elemek számával meg van növelve. + Az új tömbbe átmásoljuk a meglévő elemeit, majd az új tömbhöz hozzáadjuk az új elemeket. + Végezetül pedig töröljük az eredeti tömböt. + + Az algoritmus leírásából kiolvasható, hogy et nem éppen ideális,mivel a sebességre igen negatív hatással van a másolás. + Továbbá a másolás folyamán egy rövid időre duplázódik a programunk memóriahasználata. + + Egy sokkal jobb megoldása lehet nagy mennyiségű előre nem ismert számú adat tárolására a láncolt lista szerkezet. + + A láncolt lista egy eleme két részből épül fel. Egyrészt tartalmazza a tárolni kívánt adaott, + vagy adatokat és tartalmaz egy olyan mutatót, ami a lista eg másik elemét mutatja. + Ha a referencia a következő elemre nem létezik, akkor a lánc végén vagyunk. + + A láncolt lista a dinamikus tömbhöz képest hátránya a közbülső elemnek elérhatőségéből ered. + Míg egy tömb esetén ha tudjuk,hogy a k. elemet szeretnénk elérnim akkor a tömb indexelésével rögtön hozzáférhefünk ehhet az adathoz, addog a láncolt listában a lista elejéről indulva a mutatókon keresztül addig kell lépkedni, míg a k. elemhez nem értünk. + A véletlenszerű lista elem megtalálása a lista hosszával arányos időt igényel. + diff --git a/compiler b/compiler new file mode 100644 index 0000000..7c5e00c --- /dev/null +++ b/compiler @@ -0,0 +1 @@ +C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe /t:exe /out:demo.exe demo.cs \ No newline at end of file