Czysty C: Zadanie typu podaj produkcję BNF

0

Witam,
Nie bardzo wiem jak zabrać się za poniższe zadanie... Rozumiem, ze chodzi o to ze mam stworzyc jakos wszystkie mozliwe kombinacje skladajace sie z liter jakiegos nazwiska o dlugosci ciagu 5, ale jak to zrobic?
user image
Jakis pomysł: wybieram losowo z ciagu znakow nazwisko 5 liter i tworze z nich ciag?

1

http://ideone.com/4Q666v

#include <iostream>
#include <cstring>
using namespace std;
 
int main()
  {
   char src[]="KOWALSKI";
   size_t p[3]={0}; // tu 3 zmień na 5 i już
   size_t size=strlen(src),max=sizeof(p)/sizeof(*p)-1;
   for(size_t i=0;i<=max;cout<<endl)
     {
      for(size_t k=0;k<=max;++k) cout<<src[p[k]];
      for(i=max;(i<=max)&&(++p[i]>=size);--i) p[i]=0;
     }
   return 0;
  }

1 użytkowników online, w tym zalogowanych: 0, gości: 1