예제 #1
0
파일: test.cpp 프로젝트: Shloub/tryalgo
void test_anagrams(){
  strings_l test {"le", "chien", "marche", "vers", "sa", "niche", "et", "trouve", "une", "limace",
      "de", "chine", "nue", "pleine", "de", "malice", "qui", "lui", "fait", "du", "charme"};
  std::vector<strings_l> res {{"nue", "une"}, {"limace", "malice"}, {"marche", "charme"},
								      {"chien", "niche", "chine"}};
  std::cout << (unorder(anagrams(test))==unorder(res)) << '\n';
  test = {"aba", "baa", "abb"};
  res = {{"aba", "baa"}};
  std::cout << (unorder(anagrams(test))==unorder(res)) << '\n';
  test = {"aba"};
  res = {};
  std::cout << (unorder(anagrams(test))==unorder(res)) << '\n';
  test = {};
  res = {};
  std::cout << (unorder(anagrams(test))==unorder(res)) << '\n';
}
예제 #2
0
int main()
{
	/*
	char a[] = "hydroxydeoxycorticosterones";
	char b[] = "hydroxydesoxycorticosterone";
	char c[] = "this";
	*/
	char a[] = "basiparachromatin";
	char b[] = "marsipobranchiata";
	char c[] = "this";
	
	printf("%s and %s are %sanagrams \n", a, b, anagrams(a,b)?"":"not ");
	printf("%s and %s are %sanagrams \n", b, c, anagrams(b,c)?"":"not ");
	
	return 0;
}
예제 #3
0
anagrams(char *string,int i,int n){
	int j;
	if(i==n){
		printf("%s\n",string);
	}
	else{
		for(j=i;j<=n;j++){
			swap(string+i,string+j);
			anagrams(string,i+1,n);
			swap(string+i,string+j);
		}
	}
}
예제 #4
0
        void Main()
        {
			vector<string> input = { "", "" };
			print(anagrams(input));
        }
예제 #5
0
static int multi(const struct wordlist * const wl, int argc, char * argv[])
{
  if (argc == 3)
    return anagrams(wl, argv[2], strlen(argv[2]), prn, stdout);
  return usage(argv[0]);
}
예제 #6
0
int main(){
	char string[1000];
	scanf("%s",string);
	anagrams(string,0,strlen(string)-1);
}