Laden...

2D Char Array Wort finden und Koordinate ermitteln

Erstellt von hannebambellino vor 3 Jahren Letzter Beitrag vor 3 Jahren 386 Views
H
hannebambellino Themenstarter:in
3 Beiträge seit 2021
vor 3 Jahren
2D Char Array Wort finden und Koordinate ermitteln

Hallo,
ich habe eine Frage und zwar muss ich in einem 2D **Char **Array bestimmte Wörter von einer eingelesen Datei lesen und gucken, ob diese mit dem Char Array übereinstimmen. Das Char Array ist wie ein **Buchstabensalat **aufgebaut und muss nach bestimmten Wörtern überprüft werden. Kann mir jemand hierbei helfen? Aufgrund des Buchstabensalats muss das Programm erkennen, dass es in die nächste Zeile geht. Am Ende solle die einzelnen Koordinaten und Wörter ausgegeben werden, die mit der Liste übereinstimmen.

6.911 Beiträge seit 2009
vor 3 Jahren

Hallo hannebambellino,

damit wir alle das gleiche Verständnis vom Problem haben, kannst du eine kleines Demo zeigen?

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

H
hannebambellino Themenstarter:in
3 Beiträge seit 2021
vor 3 Jahren

Ja klar. Hier ist mein bisheriger Code. Ich habe eine csv Datei, die 12 Felder breit ist und 9 tief. Nun muss ich diese aufteilen und diagonal, sowohl als rückwärts, senkrecht und horizontal überprüfen.


using System;
using System.IO;
using System.Collections.Generic;

namespace Neuste_Version_Projekt
{
    class Program
    {
        static void Main(string[] args)
        {
            const string dateiName = @"raetsel.csv";
            Buchstabengitter bg = new Buchstabengitter(dateiName);


            const string dateiName2 = @"woerterbuch.csv";
            Wörterbuch wb = new Wörterbuch(dateiName2);


            bg.AbfrageBuchstaben();

            wb.AbfrageWörter();

            Console.ReadKey();
        }
    }

    class Buchstabengitter
    {
        private char[,] _gitter;
        private int _zeilen;
        private int _spalten;

        public Buchstabengitter(string dateiName)
        {
            _gitter = new char[100, 100];
            int z = 0;
            int s = 0;

            using (StreamReader stream = new StreamReader(dateiName))
            {
                while (!stream.EndOfStream)
                {
                    string zeile = stream.ReadLine().ToUpper();
                    s = 0;
                    foreach(string b in zeile.Split(';'))
                    {
                        _gitter[z, s] = b.ToCharArray()[0];
                        s++;
                    }
                    z++;
                }
            }
            _zeilen = z;
            _spalten = s;
        }

        public void AbfrageBuchstaben()
        { 
            for (int i = 0; i < _zeilen; i++)
            {
                for (int j = 0; j < _spalten; j++)
                {
                    Console.Write(string.Format("{0} ", _gitter[i, j]));
                }
                Console.Write(Environment.NewLine + Environment.NewLine);
            } 
        }

        public String Finden()
        {
            foreach(Char c in _gitter)
            {
                for (int i = 0; i / 12 == 1 ; i++)
                {

                }
            }
        }
    }

    class Wörterbuch
    {
        public List<String> Wörter { get; set; }

        public Wörterbuch(string dateiName2)
        {
            Wörter = new List<String>();
            using (StreamReader codes = new StreamReader(dateiName2))
            {
                while (!codes.EndOfStream)
                {
                    string code = codes.ReadLine();
                        Wörter.Add(code);                  
                }
            }
        }

        public void AbfrageWörter()
        {
            foreach(String s in Wörter)
            {
                Console.WriteLine(s);
            }
        }
    }
}

6.911 Beiträge seit 2009
vor 3 Jahren

Hallo hannebambellino,

Ich habe eine csv Datei, die 12 Felder breit ist und 9 tief.

Genau die wäre interessant -- Beispieldaten und was heraus kommen soll, also wie du dir das Resultat vorstellst.
Dann werden wir schon einen Lösung finden 😉

BTW: bitte verwendne die Code-Tags -- [Hinweis] Wie poste ich richtig? Punkt 6.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

H
hannebambellino Themenstarter:in
3 Beiträge seit 2021
vor 3 Jahren

Okay danke für Hilfe und den Tipp. Hier ist die Datei welche den Buchstabensalat beinhaltet. Und dann habe ich noch eine andere welche nur die in dem Gitter versteckten Wörter beinhaltet. Ich hoffe dass die Datei erfolgreich angehängt wurde

P
57 Beiträge seit 2017
vor 3 Jahren

Entweder sehe ich die nicht oder die Datei ist nicht hochgeladen worden.

Schau da bitte mal nach 🙂

.....an unhandled exception is the first way to think about your pattern of programming....
.....nur weil ich nicht weiß was dort passiert, bedeutet es nicht, dass ich nicht weiß, wie man es lösen kann - aber das ist wahrscheinlich....