Hallo zusammen, ich lerne erst seit kurzem in der Schule c#, jedoch gibt uns der Lehrer immer Aufgaben, ohne sie vorher richtig zu erklären. Momentan sind wir beim Thema Array. Ich verstehe so ein wenig worum es dabei geht, nur weiß ich nicht wie ich folgende Aufgabe lösen soll. Aufgabe: Ein mehrzeiliger Text soll in einem mehrdimensionalen Array abgespeichert werden können. In die nächste Zeile gelangt man durch Betätigung der return-Taste. Nach der Eingabe des Textes kann nach der Häufigkeit des Vorkommenseines Zeichens gesucht werden. Auch möglich wäre die Erstellung einer Statistik,wie viele Zeilen hat der Text, wie viele Zeichen insgesamt, usw. Vorallem habe ich Probleme mit dem Ausgeben der Häufigkeit eines Zeichens. Ich weiß, dass man dies wahrscheinlich auch mit einem normalen Array machen kann, aber der Lehrer will es so. Am besten wäre es, wenn einer mir einen Codeausschnitt zeigen könnte und da dann jeden Schritt erklärt. Vielen Dank im Vorraus Mit freundlichen Grüßen Der Unwissende
> ... jedoch gibt uns der Lehrer immer Aufgaben, ohne sie vorher richtig > zu erklären ... Du hast zwar mein vollstes Verständnis und meine ungeteilte Sympathie, glaube jedoch, dass du einfach nicht aufgepasst hast.
Ich habe da einen Fehler bei der Fragestellung gemacht. Ich meinte nicht mehrdimensionaler Text sonder mehrzeiliger Text.
Aufgepasst habe ich schon, wie alle anderen auch nur kann niemand aus meiner Klasse diese Aufgabe lösen. Er hat uns so einen Ansatz gegeben nur werde ich daraus nicht besonders Schlau: string text; string such; int i = 0; int j = 0; for ( i = 0; i < 18; i++ ) { bool passt = false; for ( j = 0; j < 6; j++ ) { if ( text[i + j] != such[j] ) { passt = false; } } }
Der Unwissende schrieb: > Aufgepasst habe ich schon, wie alle anderen auch nur kann niemand aus > meiner Klasse diese Aufgabe lösen. Wundert mich nicht. Zu allen Zeiten gab es weit überwiegend Idioten. Es besteht deswegen halt eine hohe Wahrscheinlichkeit, dass eine Schulklasse nur solche enthält... > > Er hat uns so einen Ansatz gegeben [...] Da kommt überhaupt kein mehrdimensionales Array drin vor. Sprich: mit an Sicherheit grenzender Wahrscheinlichkeit lügst du irgendwie.
Der Unwissende schrieb: > ich lerne erst seit kurzem in der Schule c#, jedoch gibt uns der Lehrer > immer Aufgaben, ohne sie vorher richtig zu erklären. Frag deinen Lehrer lieber mal, wieso er euch keine richtige Programmiersprache beibringt. Also eine die man auch wirklich nützlich einsetzen kann.
1 | bool passt = false; |
2 | for ( j = 0; j < 6; j++ ) |
3 | {
|
4 | if ( text[i + j] != such[j] ) { passt = false; } |
5 | }
|
denk mal darüber nach, wann passt == true wird.
Der Unwissende schrieb: > for ( i = 0; i < 18; i++ ) > { > bool passt = false; > for ( j = 0; j < 6; j++ ) > { > if ( text[i + j] != such[j] ) { passt = false; } > } > } So hat man mit C# vor 10 Jahren programmiert. Heutzutage macht man sowas mit LINQ, ähnlich wie bei einer Datenbankabfrage. https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/linq/introduction-to-linq-queries Hier noch ein Link, mit dessen Hilfe Deine Aufgabenstellung mittels LINQ gelöst werden könnte: https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/linq/linq-and-strings Zeichen zählen: https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/linq/how-to-query-for-characters-in-a-string-linq
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.