Advertisement
zero50x

JST Код

Apr 28th, 2016
174
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 8.00 KB | None | 0 0
  1. ## Определим самые часто встречающиеся первые буквы
  2.  
  3. include 'w.php';
  4. $Cw = count($w);
  5.  
  6. $FirstL = array(
  7. 'a' => 0, 'b' => 0, 'c' => 0, 'd' => 0, 'e' => 0, 'f' => 0, 'g' => 0, 'h' => 0, 'i' => 0, 'j' => 0, 'k' => 0, 'l' => 0, 'm' => 0, 'n' => 0, 'o' => 0, 'p' => 0, 'q' => 0, 'r' => 0, 's' => 0, 't' => 0, 'u' => 0, 'v' => 0, 'w' => 0, 'x' => 0, 'y' => 0, 'z' => 0
  8. );
  9.  
  10. for ($i = 0; $i < $Cw; $i++) {
  11.     foreach ($FirstL as $key => $value) {
  12.         //echo "Ключ: $key; Значение: $value<br />\n";
  13.         if(preg_match("/^$key/ismu", $w[$i])){
  14.             $FirstL[$key]++;
  15.         }
  16.     }
  17. }
  18.  
  19. $BurSort = array(
  20. 'a' => 0, 'b' => 0, 'c' => 0, 'd' => 0, 'e' => 0, 'f' => 0, 'g' => 0, 'h' => 0, 'i' => 0, 'j' => 0, 'k' => 0, 'l' => 0, 'm' => 0, 'n' => 0, 'o' => 0, 'p' => 0, 'q' => 0, 'r' => 0, 's' => 0, 't' => 0, 'u' => 0, 'v' => 0, 'w' => 0, 'x' => 0, 'y' => 0, 'z' => 0
  21. );
  22.  
  23.     foreach ($FirstL as $key => $value) {
  24.         $percent = $value / $Cw * 100;
  25.         echo "$key - $percent<br>";
  26.         $BurSort[$key] = $percent;
  27.     }
  28.    
  29. echo "<br><br>";
  30.  
  31.     arsort($BurSort);
  32.     foreach ($BurSort as $key => $val) {
  33.         echo "$key = $val<br>";
  34.     }
  35.  
  36.  
  37. ## Поиск биграмм из 2 одинаковых (неудачно, все есть)
  38. $Letters = array(
  39. 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'
  40. );
  41.  
  42. for ($j = 0; $j < count($Letters); $j++) {
  43.     $match = 0;
  44.     for ($i = 0; $i < count($w); $i++) {
  45.         if(preg_match("/{$Letters[$j]}{$Letters[$j]}/ism", $w[$i])){
  46.             $match++;
  47.         }
  48.     }
  49.     if($match == 0) { echo "$Letters[$j]"; }
  50. }
  51.  
  52. ## Вывод статистики по количеству букв в словах
  53.  
  54. $StrlenArr = array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
  55.  
  56.    
  57. for ($i = 0; $i < count($w); $i++) {
  58.     $s = strlen($w[$i]);
  59.  
  60.     if($s == 1){ $StrlenArr[$s]++; }
  61.     if($s == 2){ $StrlenArr[$s]++; }
  62.     if($s == 3){ $StrlenArr[$s]++; }
  63.     if($s == 4){ $StrlenArr[$s]++; }
  64.     if($s == 5){ $StrlenArr[$s]++; }
  65.     if($s == 6){ $StrlenArr[$s]++; }
  66.     if($s == 7){ $StrlenArr[$s]++; }
  67.     if($s == 8){ $StrlenArr[$s]++; }
  68.     if($s == 9){ $StrlenArr[$s]++; }
  69.     if($s == 10){ $StrlenArr[$s]++; }
  70.     if($s == 11){ $StrlenArr[$s]++; }
  71.     if($s == 12){ $StrlenArr[$s]++; }
  72.     if($s == 13){ $StrlenArr[$s]++; }
  73.     if($s == 14){ $StrlenArr[$s]++; }
  74.     if($s == 15){ $StrlenArr[$s]++; }
  75.     if($s == 16){ $StrlenArr[$s]++; }
  76.     if($s == 17){ $StrlenArr[$s]++; }
  77.     if($s == 18){ $StrlenArr[$s]++; }
  78.     if($s == 19){ $StrlenArr[$s]++; }
  79.     if($s == 20){ $StrlenArr[$s]++; }
  80.     if($s == 21){ $StrlenArr[$s]++; }
  81.     if($s == 22){ $StrlenArr[$s]++; }
  82.     if($s == 23){ $StrlenArr[$s]++; }
  83.     if($s == 24){ $StrlenArr[$s]++; }
  84.     if($s == 25){ $StrlenArr[$s]++; }
  85.     if($s == 26){ $StrlenArr[$s]++; }
  86.     if($s == 27){ $StrlenArr[$s]++; }
  87.     if($s == 28){ $StrlenArr[$s]++; }
  88.     if($s == 29){ $StrlenArr[$s]++; }
  89.     if($s == 30){ $StrlenArr[$s]++; }
  90.     if($s == 31){ $StrlenArr[$s]++; }
  91.     if($s == 32){ $StrlenArr[$s]++; }
  92.     if($s == 33){ $StrlenArr[$s]++; }
  93.     if($s == 34){ $StrlenArr[$s]++; }
  94.     if($s == 35){ $StrlenArr[$s]++; }
  95.     if($s == 36){ $StrlenArr[$s]++; }
  96.     if($s == 37){ $StrlenArr[$s]++; }
  97.     if($s == 38){ $StrlenArr[$s]++; }
  98.     if($s == 39){ $StrlenArr[$s]++; }
  99.     if($s == 40){ $StrlenArr[$s]++; }
  100.     if($s == 41){ $StrlenArr[$s]++; }
  101.     if($s == 42){ $StrlenArr[$s]++; }
  102.     if($s == 43){ $StrlenArr[$s]++; }
  103.     if($s == 44){ $StrlenArr[$s]++; }
  104.     if($s == 45){ $StrlenArr[$s]++; }
  105.     if($s == 46){ $StrlenArr[$s]++; }
  106.     if($s == 47){ $StrlenArr[$s]++; }
  107.     if($s == 48){ $StrlenArr[$s]++; }
  108.     if($s == 49){ $StrlenArr[$s]++; }
  109.     if($s == 50){ $StrlenArr[$s]++; }
  110. }
  111.  
  112.  
  113.  
  114. for ($i = 0; $i < count($StrlenArr); $i++) {
  115.     if($StrlenArr[$i] != 0){
  116.         echo "$i - {$StrlenArr[$i]}<br>";
  117.     }
  118. }
  119.  
  120. ## Подсчёт буква - апостроф вариантов (есть все)
  121. for ($i = 0; $i < count($w); $i++) {
  122.     foreach ($FirstL as $key => $value) {
  123.         if(preg_match("/$key\'/ism", $w[$i])){
  124.              $FirstL[$key]++;
  125.         }
  126.     }
  127. }
  128.  
  129.     foreach ($FirstL as $key => $value) {
  130.         if($value == 0){
  131.              echo "$key => $value<br>";
  132.         }
  133.     }
  134.  
  135. // поиск апострофов которые не на предпоследнем месте
  136.     for ($i = 0; $i < count($w); $i++) {
  137.         $long = strlen($w[$i]);
  138.         $pos = strripos($w[$i], "'");
  139.        
  140.         $d = '';
  141.         $d = $long - $pos;
  142.         if($pos !== false && $d != 2){
  143.             echo "$long - $pos - {$w[$i]}<br>";
  144.         }
  145.     }
  146.  
  147.  
  148.  
  149. ### Поиск последовательностей гласных в словах
  150. $j = 0;
  151. $StrlenArr = array(0,0,0,0,0,0,0);
  152. // замена гласных на цифры count($w)
  153.     for ($i = 0; $i < count($w); $i++) {
  154.         $k = $w[$i];
  155.         $l = strlen($w[$i]);
  156.        
  157. if($l == 5){ // Поиск гласных только в словах с 5 символами
  158.     $j++;
  159.         $w[$i] = preg_replace("/a/i", '1', $w[$i]);
  160.         $w[$i] = preg_replace("/e/i", '2', $w[$i]);
  161.         $w[$i] = preg_replace("/i/i", '3', $w[$i]);
  162.         $w[$i] = preg_replace("/o/i", '4', $w[$i]);
  163.         $w[$i] = preg_replace("/u/i", '5', $w[$i]);
  164.         $w[$i] = preg_replace("/y/i", '6', $w[$i]);
  165.        
  166.         preg_match("/[0-9]{2,}/i", $w[$i], $glas);
  167.         if(!empty($glas[0])){
  168.             $s = strlen($glas[0]);
  169.            
  170.            
  171.             if($s == 1){ $StrlenArr[$s]++; }
  172.             if($s == 2){ $StrlenArr[$s]++; }
  173.             if($s == 3){ $StrlenArr[$s]++; }
  174.             if($s == 4){ $StrlenArr[$s]++; } // echo "$k<br>";
  175.             if($s == 5){ $StrlenArr[$s]++; }
  176.             if($s == 6){ $StrlenArr[$s]++; }
  177.             if($s == 7){ $StrlenArr[$s]++; }
  178.            
  179.             //echo $w[$i].' - '.$s."<br>";
  180.         }
  181. }
  182.  
  183.     }
  184.  
  185. echo "j = $j<br>";
  186. for ($i = 0; $i < count($StrlenArr); $i++) {
  187.     if($StrlenArr[$i] != 0){
  188.         echo "$i - $StrlenArr[$i]<br>";
  189.     }
  190. }
  191.  
  192.  
  193. ### Сгенерировать ассоциативный массив
  194. $m1 = array('one', 'two', 'three');
  195. $m2 = array();
  196.  
  197. for ($j = 0; $j < count($m1); $j++) {
  198.     $ready = array("$m1[$j]"=>0);
  199.     $m2[] = $ready;
  200. }
  201.  
  202.  
  203.  
  204. ### Представить все возможные комбинации из набора символов
  205. $b1 = array(1,2,3);
  206. $barr = array();
  207. for ($j = 0; $j < count($b1); $j++) {
  208.     for ($i = 0; $i < count($b1); $i++) {
  209.         for ($k = 0; $k < count($b1); $k++) {
  210.             $barr[] = $b1[$j].$b1[$i].$b1[$k];
  211.         }
  212.     }
  213. }
  214.  
  215.  
  216. ### Код для поиска триграмм-невозможностей (по 2 за раз) и предоставления их в виде строки
  217. $barr = array();
  218. $zad = array();
  219.  
  220. for ($i = 0; $i < count($L); $i++) {
  221.     for ($j = 0; $j < count($L); $j++) {
  222.         //$barr[] = $L[$j].$L[$i].'i';
  223.         $barr[] = 'j'.$L[$j].$L[$i];
  224.         $zad[] = $L[$j].$L[$i].'j';
  225.     }
  226. }
  227.  
  228. for ($j = 0; $j < count($barr); $j++) {
  229.     if(preg_match("/[bcdfghjklmnpqrstvwxz]{3}/ism", $barr[$j])){unset($barr[$j]);}
  230. }
  231. sort($barr);
  232.  
  233.  
  234. // Ищем триграммы невозможные
  235. for ($j = 0; $j < count($barr); $j++) {
  236. $match = 0;
  237.     for ($i = 0; $i < count($w); $i++) {
  238.             if(preg_match("/$barr[$j]/ism", $w[$i])){
  239.                 $match++;
  240.             }
  241.     }
  242. if($match == 0){ echo '|'.$barr[$j]; }
  243. }
  244.  
  245. echo '<br><br><br>';
  246.  
  247. // Ищем триграммы невозможные
  248. for ($j = 0; $j < count($zad); $j++) {
  249. $match = 0;
  250.     for ($i = 0; $i < count($w); $i++) {
  251.             if(preg_match("/$zad[$j]/ism", $w[$i])){
  252.                 $match++;
  253.             }
  254.     }
  255. if($match == 0){ echo $zad[$j].'|'; }
  256. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement