Advertisement
Guest User

Untitled

a guest
Feb 26th, 2017
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.33 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <string>
  4.  
  5. using namespace std;
  6.  
  7. int jedn(string napis1; string napis2;)
  8. {
  9. int dl1;
  10. int dl2;
  11. dl1=napis1.length();
  12. dl2=napis2.length();
  13. if(dl1!=dl2) return 0;
  14.  
  15. string kontr=napis1[0];
  16. do
  17. {
  18. if(napis1[dl1-1]==kontr&&napis2[dl1-1]==kontr)
  19. {
  20. dl--;
  21. break;
  22. }
  23. else
  24. {
  25. return 0;
  26. }
  27. } while dl1>0;
  28. return 1;
  29. }
  30.  
  31. int anagramy(string napis1; string napis2)
  32. {
  33. int dl1;
  34. int dl2;
  35. dl1=napis1.length();
  36. dl2=napis2.length();
  37.  
  38. if(dl1!=dl2) return 0;
  39. int licznik1=1;
  40. for(int i=1; i<dl1; i++)
  41. {
  42. if(napis1[i-1]!=napis1[i]) licznik1++;
  43. }
  44. int pula[licznik1];
  45. int obr=1;
  46. pula[0]=napis1[0];
  47. int correct=0;
  48. for(int i=1; i<dl1; i++)
  49. {
  50. if(napis1[i-1]!=napis1[i]) pula[obr]=napis1[i];
  51. obr++;
  52. }
  53. for(int i=0; i<dl1; i++)
  54. {
  55. for(int j=0; j<licznik1; j++)
  56. {
  57. if(napis2[i]==pula[j]) correct++;
  58. }
  59. }
  60. if(correct==dl1) return 1;
  61. else return 0;
  62. }
  63.  
  64. int main ()
  65. {
  66. string tab[1000][2];
  67. fstream plik;
  68. plik.open("dane_napisy.txt");
  69.  
  70. for(int i=0; i<1000; i++)
  71. {
  72. plik>>tab[i][0];
  73. plik>>tab[i][1];
  74. //cout<<tab[i][0]<<" "<<tab[i][1]<<endl;
  75. }
  76.  
  77. int licznik1=0;
  78. for(int i=0; i<1000; i++)
  79. {
  80. if(jedn(tab[i][0], tab[i][1])==1) licznik1++;
  81. }
  82. //cout<<licznik1<<endl;
  83.  
  84. int licznik2=0;
  85. for(int i=0; i<1000; i++)
  86. {
  87. if(anagramy(tab[i][0], tab[i][1])==1) licznik2++;
  88. }
  89. //cout<<licznik2<<endl;
  90.  
  91. string anagry[licznik2];
  92. for(int i=0; i<1000; i++)
  93. {
  94. if(anagramy(tab[i][0], tab[i][1])==1)
  95. {
  96. for(int j=0; j<licznik2; j++)
  97. {
  98. anagry[j]=tab[i][0];
  99. }
  100. }
  101. }
  102. int licznik3=0;
  103. int anagryilosc[licznik2];
  104. for(int i=0; i<licznik2; i++)
  105. {
  106. for(int j=0; j<licznik2; j++)
  107. {
  108. if(anagramy(anagry[i], anagry[j])==1) licznik3++;
  109. }
  110. anagryilosc[i]=licznik3;
  111. licznik3=0;
  112. }
  113. int maxindeks=1;
  114. for(int i=1; i<licznik2; i++)
  115. {
  116. if(anagryilosc[i-1]<anagryilosc[i]) maxindeks=i;
  117. }
  118. //cout<<anagryilosc[maxindeks]<<endl;
  119. return 0;
  120. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement