summaryrefslogtreecommitdiffstats
path: root/Bachelor/Prog1/Prakt5/prg1p5_3
diff options
context:
space:
mode:
Diffstat (limited to 'Bachelor/Prog1/Prakt5/prg1p5_3')
-rw-r--r--Bachelor/Prog1/Prakt5/prg1p5_3/main.cpp128
-rw-r--r--Bachelor/Prog1/Prakt5/prg1p5_3/prg1p5_3.dsp100
-rw-r--r--Bachelor/Prog1/Prakt5/prg1p5_3/prg1p5_3.dsw29
3 files changed, 257 insertions, 0 deletions
diff --git a/Bachelor/Prog1/Prakt5/prg1p5_3/main.cpp b/Bachelor/Prog1/Prakt5/prg1p5_3/main.cpp
new file mode 100644
index 0000000..b99a0ab
--- /dev/null
+++ b/Bachelor/Prog1/Prakt5/prg1p5_3/main.cpp
@@ -0,0 +1,128 @@
+// Programmieren 1, Praktikum 5, Aufgabe 3
+// Sven Eisenhauer
+// 10.01.2005
+//
+// file: main.cpp
+//
+// purpose: Find all exists of a given maze
+//
+
+#include <iostream>
+
+using std::cin;
+using std::cout;
+using std::endl;
+
+// contains function prototypes for functions srand and rand
+#include <cstdlib>
+
+// constant definitions
+const int maxLines=14;
+const int maxRows=14;
+const int startRow=1;
+const int startLine=3;
+
+//function prototypes
+//void mazePrint(const char[][maxRows], const int);
+void mazePrint(const char[][maxRows]);
+void mazeTraverse(char [][maxRows],int,int,int&);
+
+int main ()
+{
+ int exitCount=0;
+
+ char maze[maxLines][maxRows] =
+ {
+ {'.','.','.','.','.','.','.','.','.','.','.','.','.','.'},
+ {'.','#','#','#','#','#','#','#','#','#','#','#','#','.'},
+ {'.','#',' ',' ',' ','#',' ',' ',' ',' ',' ',' ','#','.'},
+ {'.',' ',' ','#',' ','#',' ','#','#','#','#',' ','#','.'},
+ {'.','#','#','#',' ','#',' ',' ',' ',' ','#',' ','#','.'},
+ {'.',' ',' ',' ',' ',' ','#','#','#',' ','#',' ',' ','.'},
+ {'.','#','#','#','#',' ','#',' ','#',' ','#',' ','#','.'},
+ {'.','#',' ',' ','#',' ','#',' ','#',' ','#',' ','#','.'},
+ {'.','#','#',' ','#',' ','#',' ','#',' ','#',' ','#','.'},
+ {'.','#',' ',' ',' ',' ',' ',' ',' ',' ','#',' ','#','.'},
+ {'.','#','#','#','#','#','#',' ','#','#','#',' ','#','.'},
+ {'.','#',' ',' ',' ',' ',' ',' ','#',' ',' ',' ','#','.'},
+ {'.','#','#','#','#','#','#','#','#',' ','#','#','#','.'},
+ {'.','.','.','.','.','.','.','.','.','.','.','.','.','.'}
+ };
+
+ mazeTraverse(maze,startRow,startLine,exitCount);
+
+ cout << "\nNumber of Exits: " << exitCount << endl;
+
+ return 0;
+}
+
+void mazeTraverse(char laby[][maxRows],int x,int y,int &count)
+{
+ char temp=' ';
+
+ if (x < maxLines && y < maxRows && x > 0 && y > 0)
+ {
+
+ if (laby[y][x] == ' ')
+ laby[y][x] = 'x';
+
+ if (laby[y+1][x] == '.')
+ {
+ count++;
+ itoa(count,&temp,10);
+ laby[y+1][x]=temp;
+ }
+ if (laby[y][x+1] == '.')
+ {
+ count++;
+ itoa(count,&temp,10);
+ laby[y][x+1]=temp;
+ }
+ if (laby[y-1][x] == '.')
+ {
+ count++;
+ itoa(count,&temp,10);
+ laby[y-1][x]=temp;
+ }
+ if (laby[y][x-1] == '.')
+ {
+ count++;
+ itoa(count,&temp,10);
+ laby[y][x-1]=temp;
+ }
+
+ //mazePrint(laby,count);
+ mazePrint(laby);
+
+ if (laby[y+1][x] == ' ')
+ mazeTraverse(laby,x,y+1,count);
+
+
+ if (laby[y][x+1] == ' ')
+ mazeTraverse(laby,x+1,y,count);
+
+
+ if (laby[y-1][x] == ' ')
+ mazeTraverse(laby,x,y-1,count);
+
+
+ if (laby[y][x-1] == ' ')
+ mazeTraverse(laby,x-1,y,count);
+
+ }
+
+}
+
+void mazePrint(const char array[][maxRows])
+//void mazePrint(const char array[][maxRows],const int count)
+{
+ system ("cls");
+ for (int i=0;i<maxLines;i++)
+ {
+ for (int j=0;j<maxRows;j++)
+ cout << array[i][j];
+ cout << "\n";
+ }
+ //cout << "\n" << count;
+ //system ("pause");
+} \ No newline at end of file
diff --git a/Bachelor/Prog1/Prakt5/prg1p5_3/prg1p5_3.dsp b/Bachelor/Prog1/Prakt5/prg1p5_3/prg1p5_3.dsp
new file mode 100644
index 0000000..f9bca6e
--- /dev/null
+++ b/Bachelor/Prog1/Prakt5/prg1p5_3/prg1p5_3.dsp
@@ -0,0 +1,100 @@
+# Microsoft Developer Studio Project File - Name="prg1p5_3" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** NICHT BEARBEITEN **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=prg1p5_3 - Win32 Debug
+!MESSAGE Dies ist kein gültiges Makefile. Zum Erstellen dieses Projekts mit NMAKE
+!MESSAGE verwenden Sie den Befehl "Makefile exportieren" und führen Sie den Befehl
+!MESSAGE
+!MESSAGE NMAKE /f "prg1p5_3.mak".
+!MESSAGE
+!MESSAGE Sie können beim Ausführen von NMAKE eine Konfiguration angeben
+!MESSAGE durch Definieren des Makros CFG in der Befehlszeile. Zum Beispiel:
+!MESSAGE
+!MESSAGE NMAKE /f "prg1p5_3.mak" CFG="prg1p5_3 - Win32 Debug"
+!MESSAGE
+!MESSAGE Für die Konfiguration stehen zur Auswahl:
+!MESSAGE
+!MESSAGE "prg1p5_3 - Win32 Release" (basierend auf "Win32 (x86) Console Application")
+!MESSAGE "prg1p5_3 - Win32 Debug" (basierend auf "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "prg1p5_3 - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD BASE RSC /l 0x407 /d "NDEBUG"
+# ADD RSC /l 0x407 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+
+!ELSEIF "$(CFG)" == "prg1p5_3 - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD BASE RSC /l 0x407 /d "_DEBUG"
+# ADD RSC /l 0x407 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "prg1p5_3 - Win32 Release"
+# Name "prg1p5_3 - Win32 Debug"
+# Begin Group "Quellcodedateien"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\main.cpp
+# End Source File
+# End Group
+# Begin Group "Header-Dateien"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# End Group
+# Begin Group "Ressourcendateien"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# End Target
+# End Project
diff --git a/Bachelor/Prog1/Prakt5/prg1p5_3/prg1p5_3.dsw b/Bachelor/Prog1/Prakt5/prg1p5_3/prg1p5_3.dsw
new file mode 100644
index 0000000..5abecf4
--- /dev/null
+++ b/Bachelor/Prog1/Prakt5/prg1p5_3/prg1p5_3.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNUNG: DIESE ARBEITSBEREICHSDATEI DARF NICHT BEARBEITET ODER GELÖSCHT WERDEN!
+
+###############################################################################
+
+Project: "prg1p5_3"=.\prg1p5_3.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+