Hallo liebe Community,
ich habe ein kleines Problem ich muss für mein Studium eine Hausaufgabe abgeben die wie folgt lautet:
Sie haben eine Sortierte Folge von Zahlen.
Einzelne Zahlen dürfen mehrfach vorkommen.
Schreiben Sie eine Funktion dieHaeufigste, die bestimmt, welche Zahl am häufigsten vorkommt und wie oft diese Zahl vorkommt.
Das Feld soll natürlich Parameter der Funktion sein. Ergebnis ist vom Typ einer Struktur:
C#-Quelltext
1:
| struct zahlWieOft { int zahl; int wieOft; }; |
Schreiben Sie ein Testprogramm, das Ihre Funktion prüft.
Wäre die Aufgabe viel komplizierter, wenn die Folge nicht sortiert wäre?
Ich habe daran mit einem Kommilitonen gefeilt aber zu einem richtigen Ergebnis sind wir nicht gekommen.
Würde mich über Hilfe freuen.
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65:
| namespace Hausaufgabe { public struct zahlWieOft { public int zahl; public int wieOft;
public zahlWieOft(int wert) { zahl = wert; wieOft = 0; }
public override string ToString() { return "Häufigste: " + this.zahl + "\nAnzahl: " + this.wieOft; }
public zahlWieOft dieHaufigste(List<zahlWieOft> Liste) { for (int i = 0; i < Liste.Count; ++i) { zahlWieOft x = Liste[i]; x.wieOft++; Liste[i] = x; }
int max = 0; foreach (zahlWieOft z in Liste) { if (z.wieOft > max) max = z.wieOft; }
foreach (zahlWieOft z in Liste) { if (z.wieOft == max) return z; } return Liste[0]; } }
public class program {
public static void Main() { zahlWieOft _1 = new zahlWieOft(1); zahlWieOft _2 = new zahlWieOft(2); zahlWieOft _3 = new zahlWieOft(3); zahlWieOft _4 = new zahlWieOft(4); zahlWieOft _5 = new zahlWieOft(5);
List<zahlWieOft> Liste = new List<zahlWieOft>(); Liste.Add(_1); Liste.Add(_2); Liste.Add(_1); Liste.Add(_3); Liste.Add(_4); Console.WriteLine(); } } } |
Gruß
alfiii3
Moderiert von
Th69: C#-Tags hinzugefügt