Főoldal | Webprogramozás | C# programozás | SQL programozás | Hálózati ismeretek |
![]() |
Kéktúra
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; namespace kektura { struct szakasz_jg { public String kezdet_jg; public String veg_jg; public Double tavolsag_jg; public int emelkedes_jg; public int lejtes_jg; public bool pecsetelohely_jg; public szakasz_jg(string[] m_jg) { kezdet_jg = m_jg[0]; veg_jg = m_jg[1]; tavolsag_jg = double.Parse(m_jg[2]); emelkedes_jg = int.Parse(m_jg[3]); lejtes_jg = int.Parse(m_jg[4]); pecsetelohely_jg = m_jg[5] == "i"; } public bool HianyosNev_jg { get { if (pecsetelohely_jg) { if (veg_jg.Contains("pecsetelohely")) return false; else return true; } return false; } } public override string ToString() { string NemHianyosNev_jg = veg_jg; if (HianyosNev_jg) NemHianyosNev_jg += " pecsetelohely"; return String.Format("{0};{1};{2};{3};{4};{5}", kezdet_jg, NemHianyosNev_jg, tavolsag_jg, emelkedes_jg, lejtes_jg, pecsetelohely_jg ? 'i' : 'n'); } } class kektura { static void Main() { List int magassag_jg = int.Parse(beolvas_jg[0]); for (int i = 1; i < beolvas_jg.Length; i++) { szakasz_jg.Add(new szakasz_jg(beolvas_jg[i].Split(';'))); } Console.WriteLine("3. feladat: Szakaszok száma: {0} db", szakasz_jg.Count); double hossz_jg = 0; foreach (var i in szakasz_jg) { hossz_jg += i.tavolsag_jg; } Console.WriteLine("4. feladat: A túra teljes hossza: {0} km", hossz_jg); int legrovidebb_jg = 0; for (int i = 1; i < szakasz_jg.Count; i++) { if (szakasz_jg[i].tavolsag_jg < szakasz_jg[legrovidebb_jg].tavolsag_jg) legrovidebb_jg = i; } Console.WriteLine("5. feladat: A legrövidebb szakasz adatai:"); Console.WriteLine("\tKezdete: {0}", szakasz_jg[legrovidebb_jg].kezdet_jg); Console.WriteLine("\tVége: {0}", szakasz_jg[legrovidebb_jg].veg_jg); Console.WriteLine("\tTávolság: {0} km", szakasz_jg[legrovidebb_jg].tavolsag_jg); Console.WriteLine("7. feladat: Hiányos állomásnevek:"); bool VoltHianyos_jg = false; for (int i = 0; i < szakasz_jg.Count; i++) { if (szakasz_jg[i].HianyosNev_jg) { Console.WriteLine("\t{0}", szakasz_jg[i].veg_jg); VoltHianyos_jg = true; } } if (!VoltHianyos_jg) Console.WriteLine("Nincs hiányos állomásnév!"); int jelenlegi_jg = magassag_jg + szakasz_jg[0].emelkedes_jg - szakasz_jg[0].lejtes_jg; int maximum_jg = jelenlegi_jg; int maximumi_jg = 0; for (int i = 1; i < szakasz_jg.Count; i++) { jelenlegi_jg += szakasz_jg[i].emelkedes_jg - szakasz_jg[i].lejtes_jg; if (jelenlegi_jg > maximum_jg) { maximum_jg = jelenlegi_jg; maximumi_jg = i; } } Console.WriteLine("8. feladat: A túra legmagasabban fekvő végpontja:"); Console.WriteLine("\tA végpont neve: {0}", szakasz_jg[maximumi_jg].veg_jg); Console.WriteLine("\tA végpont tengerszint feletti magassága: {0} m", maximum_jg); List sorok_jg.Add(magassag_jg.ToString()); foreach (var i in szakasz_jg) { sorok_jg.Add(i.ToString()); } File.WriteAllLines("kektura2.csv", sorok_jg); Console.ReadKey(); } } } |