Kezdőoldal » Számítástechnika » Programozás » C#-ba feladatot kell megcsinál...

C#-ba feladatot kell megcsinálnom, de nem bírok vele valaki segítene?

Figyelt kérdés
Billentyűzetről be kell kérni 5 nevet és 5 számot. Majd kiíratni a legnagyobb embernek a magasságát, nevét, sorszámát.

2016. máj. 11. 19:07
1 2
 11/14 A kérdező kommentje:

végül így oldottam meg.



// MAXIMUM KIVÁLASZTÁS TÉTELE


int max = t[0];

int index = 0;

for (i = 1; i < t.Length; i++)

{

if (t[i] > max)

{

max = t[i];

index = i;



}


}

Console.WriteLine("A legnagyobb ember magassága {0} cm",max);

Console.WriteLine("A legnagyobb ember sorszáma: {0}",index+1);

Console.WriteLine("A legnagyobb ember neve: {0}",nevek[index]);

2016. máj. 11. 21:01
 12/14 anonim ***** válasza:

Jelenleg a max-ban a legnagyobb magasságot magát tárolod, nem az indexét a tömbben. Így a nevek[max] nem fogja kiadni a legmagasabb ember nevét, hiszen ha a max magasság mondjuk 185 cm, akkor a nevek tömb 185. elemét akarnád kiírratni. ilyen persze nincs.

Megoldás: a max-ban nem magát a magasságot tárolod el, hanem az indexet.


max = t[i] helyett max = i legyen.


Így a kiíratásnál a t[max] és a nevek[max] fogja visszaadni a legmagasabb ember magasságát és nevét.

2016. máj. 11. 21:01
Hasznos számodra ez a válasz?
 13/14 A kérdező kommentje:

végül így oldottam meg:


// MAXIMUM KIVÁLASZTÁS TÉTELE


int max = t[0];

int index = 0;

for (i = 1; i < t.Length; i++)

{

if (t[i] > max)

{

max = t[i];

index = i;



}


}

Console.WriteLine("A legnagyobb ember magassága {0} cm",max);

Console.WriteLine("A legnagyobb ember sorszáma: {0}",index+1);

Console.WriteLine("A legnagyobb ember neve: {0}",nevek[index]);

2016. máj. 11. 21:02
 14/14 anonim ***** válasza:

Egy hosszabb LINQ megoldás.


public class Ember

{

public Dictionary<int,Dictionary<int,string>> Emberek { get; set; }

public Ember()

{

this.Emberek = new Dictionary<int, Dictionary<int, string>>();

}

}

class Program

{

static void Main(string[] args)

{

//bekérés

Ember ember = new Ember();

int i = 1;

string nev = null;

int magassag = 0;

do

{

Console.WriteLine("Adjon meg egy nevet");

nev = Console.ReadLine().ToString();

Console.WriteLine("Adjon meg hozzá egy magasságot");

magassag = Convert.ToInt32(Console.ReadLine());

ember.Emberek.Add(i,new Dictionary<int,string>()

{{magassag,nev}});

i++;

} while (i<= 5);

Console.WriteLine("A bekérés megtörtént");

Console.WriteLine("------------Eddig bent lévő adatok-------");

foreach (var item in ember.Emberek)

{

Console.Write("ID : "+item.Key+" ");

foreach (var g in item.Value)

{

Console.Write("Magasság : "+g.Key + " - Név : "+g.Value);

}

Console.WriteLine();

}

var maxMagassag = ember.Emberek.Max(X => X.Value.Max(g => g.Key));

var MAX = ember.Emberek.Where(g => g.Value.Select(j => j.Key).FirstOrDefault() == maxMagassag).First();

int ID = MAX.Key;

string name = MAX.Value.First().Value;

Console.WriteLine("Legmagasabb : {0} cm az ID : {1} és a Neve : {2}", maxMagassag, ID,name);

Console.ReadKey();

}

}

2016. máj. 17. 13:21
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!