#include enum n { Komisch , Ernst, Witzig }; enum k { Pullover, Weste, Jackett }; enum f { kariert , grau , blau }; char *Nachnamen[] = { "Komisch" , "Ernst", "Witzig" }; char *Kleidung[] = { "Pullover", "Weste", "Jackett" }; char *Farbe[] = { "kariert" , "grau" , "blau" }; int **permutationen(int n); int fak(int n); void check(int *kleidung,int *farbe) { /* Herr Komisch trug kein Jackett */ /* Herr Ernst und Herr Komisch trugen einfarbige Kleidungsstuecke */ /* Herr Komisch trug keine graue Weste */ /* Herr Ernst trug keine blaue Weste und keinen grauen Pullover */ /* Der Pullover war einfarbig */ /* Die Weste war nicht kariert */ int i; enum n NamePullover,NameWeste,name; for(name=Komisch; name<=Witzig; name++) { if( kleidung[name] == Pullover ) NamePullover=name; else if( kleidung[name] == Weste ) NameWeste=name; } if ( ( kleidung[Komisch] != Jackett ) && ( farbe[Ernst] != kariert ) && ( farbe[Komisch] != kariert ) && ( !(farbe[Komisch] == grau && kleidung[Komisch] == Weste) ) && ( !(farbe[Ernst] == blau && kleidung[Ernst] == Weste) ) && ( !(farbe[Ernst] == grau && kleidung[Ernst] == Pullover) ) && ( farbe[NamePullover] != kariert ) && ( farbe[NameWeste] != kariert ) ) { printf("%-10s%-10s%-10s\n","Name","Kleidung","Farbe"); printf("-------------------------------\n"); for(name=Komisch; name<=Witzig; name++) printf("%-10s%-10s%-10s\n", Nachnamen[name], Kleidung[kleidung[name]], Farbe[farbe[name]]); } } int main(int argc, char *argv[]) { int i,j,anz; int *k,*f; int **p; p=permutationen(3); anz=fak(3); for(i=0;i