From f08f2d0e3798ff90b7e68c46751e15b7b991a2a0 Mon Sep 17 00:00:00 2001 From: Martin Talarczyk Date: Fri, 13 Nov 2015 12:17:15 +0100 Subject: Commitel Aufgabe 1 bis 4 --- Aufgabe3/quadrat.cc | 107 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 Aufgabe3/quadrat.cc (limited to 'Aufgabe3/quadrat.cc') diff --git a/Aufgabe3/quadrat.cc b/Aufgabe3/quadrat.cc new file mode 100644 index 0000000..2ee0a4f --- /dev/null +++ b/Aufgabe3/quadrat.cc @@ -0,0 +1,107 @@ +//#===================================================================================== +//# +//# Filename: quadrat.cc +//# +//# Description: Suchaufgabe "Buchstabenquadrat" +//# +//# Version: 1.0 +//# Created: 30.08.2002 +//# Revision: none +//# Compiler: GNU C/C++ +//# +//# Author: Dr.-Ing. Fritz Mehner (Mn) +//# Company: Fachhochschule Südwestfalen, Iserlohn +//# Email: mehner@fh-swf.de +//# +//#===================================================================================== + +using namespace std; + +// ##### HEADER FILE INCLUDES ###################################################### + +#include + + +// ##### VARIABLES - LOCAL TO THIS SOURCE FILE ################################### + +const int n = 4; // Dimension des Quadrats + +char quadrat[n][n] = { // Buchstabenquadrat + { 'S', 'R', 'G', 'D' }, + { 'O', 'F', 'A', 'E' }, + { 'N', 'U', 'B', 'L' }, + { 'T', 'S', 'P', 'E' } }; + +char buffer[1024]; // Puffer zum Aufbau der gefundenen Zeichenketten +int erreicht[1024]; // Stapel zur Speicherung der erreichten Positionen +int p; // Stapelzeiger + + +// ##### FUNCTION DEFINITIONS - LOCAL TO THIS SOURCE FILE ######################## + +//---------------------------------------------------------------------- +// weiter +// Prüfen, ob ein Platz in der Matrix schon einmal erreicht wurde +//---------------------------------------------------------------------- +bool +weiter ( int i, int j ) +{ + int k, pos = 10*i+j; + + if( i<0 || i>=n || j<0 || j>=n ) + return false; // Position außerhalb der Matrix + + for ( k=0; k