C# Einen Mehrdimensionalen Text in einen Mehrdimensionalen Text umwandeln

Gast #6161061
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
Gast
> ... 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.
Gast
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; }
     }
}
Gast
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.
Gast
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.
Gast
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

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 6 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.