Javító tz.
Aki nem írt házit, pótolja.
Ezt be kell fejezni otthon.
Új feladat: Hegyek
Egy szöveges
fájlba írd ki 5 hegy nevét és magasságát.
- Olvasd be a fájl
tartalmát, majd írd ki a képernyőre.
- Írd ki a
legmagasabb hegy nevét.
- Rendezd sorba az
adatokat név szerint, majd írd ki a neveket.
- Rendezd sorba az
adatokat magasság szerint, majd írd ki a magasságokat.
- Szorgalmi:
oldjuk meg, hogy a sorbarendezéskor mindkét adatot egymás mellé ki tudjuk írni.
- Írjuk ki a
képernyőre a legrövidebb nevű hegy nevét és magasságát.
- Írjuk ki a
képernyőre a következőt: mekkora lenne az a hegy, amibe "beleépítjük"
egymás tetejére az összes hegyet?
- Egy földrengés
szétrombolta a legalacsonyabb hegyet, és 10%-kal csökkent a magassága. Mekkora
lett?
- Tároljuk egy új tömbben,
majd írjuk ki a képernyőre és egy új fájlba a hegyek magasságát lábban. Láb:
angol mértékegység, nézz utána, hogyan kell átváltani.
Varsó megoldása:
using System;
using System.IO;
namespace
_20201102_2
{
class Program
{
static string[] hegy
= new string[7];
static int[] nagysag
= new int[7];
static string[]
atmeneti;
static StreamReader
sr;
static string[]
hegy_2 = new string[7];
static int[]
nagysag_2 = new int[7];
static double[]
nagysag_lb = new double[7];
static void hegyek()
{
sr = new StreamReader("hegyek.txt");
int k = 0;
while (!sr.EndOfStream)
{
atmeneti = sr.ReadLine().Split('-');
hegy[k] = atmeneti[0];
nagysag[k] = Convert.ToInt32(atmeneti[1]);
k++;
}
sr.Close();
}
static void
hegyek_kiiras()
{
for (int
i = 0; i < hegy.Length; i++)
{
Console.WriteLine("Hegy neve: {0}, Magassága: {1}",
hegy[i], nagysag[i]);
}
}
static void
legmagasabb()
{
int max = nagysag[0];
int hely = 0;
for (int
i = 0; i < nagysag.Length; i++)
{
if (max < nagysag[i])
{
max = nagysag[i];
hely = i;
}
}
Console.WriteLine("Legmagasabb hegy neve: {0}, Magassága: {1}",
hegy[hely], max);
}
static void
rendezes_NEV()
{
for (int
i = 0; i < hegy.Length; i++)
{
hegy_2[i] = hegy[i];
}
Array.Sort(hegy_2);
for (int
i = 0; i < hegy_2.Length; i++)
{
Console.WriteLine(hegy_2[i]);
}
}
static void
rendezes_NAGYSAG()
{
for (int
i = 0; i < nagysag.Length; i++)
{
nagysag_2[i] = nagysag[i];
}
Array.Sort(nagysag_2);
for (int
i = 0; i < nagysag_2.Length; i++)
{
Console.WriteLine(nagysag_2[i] + " méter ");
}
}
static void
legrovidebbNevuHegy()
{
int min_rovid = hegy[0].Length;
int k = 0;
for (int
i = 0; i < hegy.Length; i++)
{
if
(min_rovid > hegy[i].Length)
{
min_rovid = hegy[i].Length;
k = i;
}
}
string legrovidebbNevu = hegy[k];
int legrovidebbNevuMagassaga =
nagysag[k];
Console.WriteLine("A legrövidebb nevű hegy neve {0}, magassága:
{1}", legrovidebbNevu, legrovidebbNevuMagassaga);
}
static void
osszegzes()
{
int
osszegzes1 = 0;
for (int
i = 0; i < nagysag.Length; i++)
{
osszegzes1 += nagysag[i];
}
Console.WriteLine(osszegzes1 + " méter lenne az a hegy, amibe beleépítjük egymás
tetejére az összes hegyet. ");
}
static void
legkisebbhegyROMBOLAS()
{
int legkisebbhegy = nagysag[0];
int legkisebbhegy10szazalekminusz =
legkisebbhegy;
int rombolasErteke = 10;
for (int
i = 0; i < nagysag.Length; i++)
{
if (nagysag[i] < legkisebbhegy)
{
legkisebbhegy = nagysag[i];
}
}
legkisebbhegy10szazalekminusz = legkisebbhegy / 100 * (100 -
rombolasErteke);
Console.WriteLine("Ha a legkisebb hegy 10%-al lerombolódna, akkor a
magassága {0} méter lesz.", legkisebbhegy10szazalekminusz);
}
static void
labmertekegyseg()
{
double meterToLabertek = 3.280840;
for (int
i = 0; i < nagysag.Length; i++)
{
nagysag_lb[i] = nagysag[i] * meterToLabertek;
Console.WriteLine("Hegy neve: {0}, magassága: {1} méter, magassága:
{2} láb", hegy[i], nagysag[i], nagysag_lb[i]);
}
}
static void Main(string[] args)
{
//Feladat: Hegyek
//Egy szöveges fájlba írd ki 5 hegy nevét és
magasságát.
//-Olvasd be a fájl tartalmát, majd írd ki a képernyőre.
hegyek();
hegyek_kiiras();
//-Írd ki a legmagasabb hegy nevét.
legmagasabb();
//- Rendezd sorba az adatokat név szerint,
majd írd ki a neveket.
rendezes_NEV();
//- Rendezd sorba az adatokat magasság
szerint, majd írd ki a magasságokat.
rendezes_NAGYSAG();
//- Szorgalmi: oldjuk meg, hogy a sorbarendezéskor
mindkét adatot egymás mellé ki tudjuk írni.
//- Írjuk ki a képernyőre a legrövidebb nevű
hegy nevét és magasságát.
legrovidebbNevuHegy();
//-Írjuk ki a képernyőre a következőt: mekkora
lenne az a hegy, amibe "beleépítjük" egymás tetejére az összes hegyet
?
osszegzes();
//-Egy földrengés
szétrombolta a legalacsonyabb hegyet, és 10 % -kal csökkent a magassága.Mekkora
lett?
legkisebbhegyROMBOLAS();
//-Tároljuk egy új tömbben, majd írjuk ki a képernyőre
és egy új fájlba a hegyek magasságát lábban.Láb: angol mértékegység, nézz utána,
hogyan kell átváltani.
labmertekegyseg();
Console.Write("\n\nA program bezárásahoz nyomjon meg egy billentyűt...");
Console.ReadKey();
}
}
}
//TXT fájl tartalma:
//Elbrusz-5624
//Vinson Massif-4897
//Denali-6194
//Aconcagua-6959
//Kilimandzsáró-5895
//Mount Everest-8846
//Mount Kosciuszko-2229
Nincsenek megjegyzések:
Megjegyzés küldése