Hallo zusammen,
habe eine Frage und hoffe das ihr mir helfen könnt...
Ich will mir ein Programm erstellen das mir über ein Kommandozeilenparameter ein Wort oder beliebige Buchstaben über eingabe einliest, dann Permutiert, dann mit einem in einer Textdatei angelegtem Thesaurus abgleicht und mir dann nur noch die übereinstimmungen und die Anzahl der übereinstimmungen ausgibt.
Ich bin soweit das er mir das ganze Permutiert allerdings komme ich gerade nicht darauf wie ich ihn dazu kriege das er den Thesaurus der zeilenweise angelegt ist in der .txt einliest und dann abgleicht.
Hoffe ihr könnt mir helfen...
Code dazu ist folgender:
habe eine Frage und hoffe das ihr mir helfen könnt...
Ich will mir ein Programm erstellen das mir über ein Kommandozeilenparameter ein Wort oder beliebige Buchstaben über eingabe einliest, dann Permutiert, dann mit einem in einer Textdatei angelegtem Thesaurus abgleicht und mir dann nur noch die übereinstimmungen und die Anzahl der übereinstimmungen ausgibt.
Ich bin soweit das er mir das ganze Permutiert allerdings komme ich gerade nicht darauf wie ich ihn dazu kriege das er den Thesaurus der zeilenweise angelegt ist in der .txt einliest und dann abgleicht.
Hoffe ihr könnt mir helfen...
Code dazu ist folgender:
C++:
#include <stdio.h>
#include <stdlib.h>
void tausch(char * p1, char * p2) {
char c = *p1;
*p1 = *p2, *p2 = c;
}
void perm(char * text, char * start) {
int i = -1;
static int nr;
if (*start == '\0') //Rekursionsabbruch
printf("%6d:%s\n" , ++nr , text);
else
while (*(start + ++i) != '\0'){
tausch(start, start + i);
perm(text, start + 1);
tausch(start, start +i);
}
}
int main()
{
char begin [] ="Geben_Sie_hier_ein_beliebiges_Wort_zur_Permutation_ein!\n";
printf ("%s", begin);
char text [30];
FILE * f ;
f = fopen ("namen.txt", "w"); // Datei oeffnen
fgets (text, 30, stdin);
text [strlen (text) - 1] = 0;
perm(text, text);
system("PAUSE");
return 0;
}
Zuletzt bearbeitet von einem Moderator: