C
C++_Beginner
Gast
Guten Abend,
ich bin mittlerweile schon langsam am verzweifeln, deswegen wollte ich euch hiermit um Hilfe bitten. Wir müssen eine Aufgabe in C++ bearbeiten.
Aufgabenstellung:
Schreiben Sie ein C++-Programm, das drei vom Nutzer eingegebene Worte in einer Matrix mit Buchstaben der Größe 20 x 20 findet. Wörter können jeweils
• waagerecht und senkrecht
• vor- und rückwärts
• mehrfach
in der Matrix enthalten sein.
Die Ausgabe an den Nutzer beinhaltet das gesuchte Wort, die Positionen des ersten Buchstabens in der Matrix und die Richtung, in die gelesen werden muss. Es gibt vier Richtungsangaben: rechts, links, hoch und runter. Die folgende Formatierung der Ausgabe
muss von Ihnen eingehalten werden: wort | [zeile] [spalte] | richtung
Als Beispiel wird ihnen die Matrix mrx.txt zur Verfügung gestellt. Der Nutzer soll hierbei puma, fuchs und katze eingeben. Katze ist in der Beispielmatrix nicht enthalten.
Wir dürfen nur diese Header nutzen:
#include <iostream>
#inlcude <fstream>
Folgender Quelltext soll des Weiteren als gegeben angesehen werden (unveränderlich):
#include <iostream>
#include <fstream>
using namespace std;
int main ()
{
const int anz=20; // Groessenkonstante
char mrx [anz][anz]; // Speicherplatz fuer Matrix aus Buchstaben
for (int i=0; i<anz; i++)
for (int j=0; j<anz; j++)
mrx[j] = '?'; // Startwert vergeben
ifstream in ("mrx.txt"); // Datenstrom zum Einlesen
if (!in) // Programm nur fortfuehren, falls Datenstrom anlegen geklappt hat
{
cout << "Datei mrx.txt konnte nicht geoeffnet werden!" << endl;
return 0;
}
for (int i=0; i<anz; i++)
for (int j=0; j<anz; j++)
in >> mrx[j]; // Buchstaben einlesen und speichern
in.close();
char word[3][anz+1]; // Speicherplatz fuer Nutzereingabe
for (int i=0; i<3; i++)
{
//cout << "Wort " << i+1 << " eingeben: ";
cin >> word;
}
cout << endl << endl;
/* Hier Quelltext zur Loesung der Aufgabe einfuegen */
return 0;
}
Ich bin jetzt seit Ende letzten Jahres am Rästeln wie es gehen soll und habe mittlerweile gut 15 Stunden investiert, ohne nennenswerte Resultate erzielen zu können. Allerdings komme ich einfach nicht weiter, weil ich keinen Ansatz finde. Kann mir vielleicht jemand helfen? Von Seiten der Aufgabensteller habe ich nach heutiger Erkenntnis keine Hilfe zu erwarten.
Liebe Grüße
ich bin mittlerweile schon langsam am verzweifeln, deswegen wollte ich euch hiermit um Hilfe bitten. Wir müssen eine Aufgabe in C++ bearbeiten.
Aufgabenstellung:
Schreiben Sie ein C++-Programm, das drei vom Nutzer eingegebene Worte in einer Matrix mit Buchstaben der Größe 20 x 20 findet. Wörter können jeweils
• waagerecht und senkrecht
• vor- und rückwärts
• mehrfach
in der Matrix enthalten sein.
Die Ausgabe an den Nutzer beinhaltet das gesuchte Wort, die Positionen des ersten Buchstabens in der Matrix und die Richtung, in die gelesen werden muss. Es gibt vier Richtungsangaben: rechts, links, hoch und runter. Die folgende Formatierung der Ausgabe
muss von Ihnen eingehalten werden: wort | [zeile] [spalte] | richtung
Als Beispiel wird ihnen die Matrix mrx.txt zur Verfügung gestellt. Der Nutzer soll hierbei puma, fuchs und katze eingeben. Katze ist in der Beispielmatrix nicht enthalten.
Wir dürfen nur diese Header nutzen:
#include <iostream>
#inlcude <fstream>
Folgender Quelltext soll des Weiteren als gegeben angesehen werden (unveränderlich):
#include <iostream>
#include <fstream>
using namespace std;
int main ()
{
const int anz=20; // Groessenkonstante
char mrx [anz][anz]; // Speicherplatz fuer Matrix aus Buchstaben
for (int i=0; i<anz; i++)
for (int j=0; j<anz; j++)
mrx[j] = '?'; // Startwert vergeben
ifstream in ("mrx.txt"); // Datenstrom zum Einlesen
if (!in) // Programm nur fortfuehren, falls Datenstrom anlegen geklappt hat
{
cout << "Datei mrx.txt konnte nicht geoeffnet werden!" << endl;
return 0;
}
for (int i=0; i<anz; i++)
for (int j=0; j<anz; j++)
in >> mrx[j]; // Buchstaben einlesen und speichern
in.close();
char word[3][anz+1]; // Speicherplatz fuer Nutzereingabe
for (int i=0; i<3; i++)
{
//cout << "Wort " << i+1 << " eingeben: ";
cin >> word;
}
cout << endl << endl;
/* Hier Quelltext zur Loesung der Aufgabe einfuegen */
return 0;
}
Ich bin jetzt seit Ende letzten Jahres am Rästeln wie es gehen soll und habe mittlerweile gut 15 Stunden investiert, ohne nennenswerte Resultate erzielen zu können. Allerdings komme ich einfach nicht weiter, weil ich keinen Ansatz finde. Kann mir vielleicht jemand helfen? Von Seiten der Aufgabensteller habe ich nach heutiger Erkenntnis keine Hilfe zu erwarten.
Liebe Grüße