C# Einen Mehrdimensionalen Text in einen Mehrdimensionalen Text umwandeln

Gast #6161061
Lesenswert?

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 #6161065
Lesenswert?

> ... 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 #6161070
Lesenswert?

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 #6161195
Lesenswert?

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.
#6164138
Lesenswert?

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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren