Автор Тема: Как посчитать повторяющиеся цифр в массивах  (Прочитано 347 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн sasha1304 [?]

  • Новичок
  • *
  • Сообщений: 38
  • Репутация: 0
    • Награды
всем привет. есть вот такие массивы
Код: AutoIt [Выделить]
Dim $bilet1[30] = [17,39,42,55,70,7,11,24,69,89,5,29,44,73,81,1,14,26,37,46,3,20,56,66,71,10,32,50,74,88]
Dim $bilet2[30] = [29,46,60,71,83,9,19,36,50,74,8,24,32,45,54,23,35,52,68,78,12,27,47,51,80,6,48,69,75,89]
Dim $bilet3[30] = [3,46,68,70,80,4,12,27,52,77,19,32,55,66,84,18,21,31,44,62,7,48,69,78,85,16,28,37,57,75]
Dim $bilet4[30] = [16,20,37,58,84,18,43,66,77,82,4,27,51,62,78,2,28,59,67,90,10,25,36,53,70,1,12,39,48,87]
Dim $bilet5[30] = [47,56,66,72,81,6,38,49,63,88,4,10,28,55,74,29,31,43,57,85,3,19,23,36,62,5,16,40,53,70]
Dim $bilet6[30] = [27,38,48,50,82,12,45,52,73,86,4,29,32,64,76,25,33,43,57,78,16,59,61,79,84,5,18,23,46,85]
Dim $bilet7[30] = [14,30,47,67,81,11,29,56,70,80,9,33,42,52,64,32,43,58,62,78,7,12,25,55,88,5,16,24,79,89]
Dim $bilet8[30] = [6,11,23,38,84,8,24,35,43,79,18,41,58,62,86,1,30,54,69,83,10,27,45,59,75,19,28,47,68,76]
Dim $bilet9[30] = [23,42,66,74,84,5,17,59,64,87,21,32,46,54,75,1,50,67,73,88,14,24,39,68,89,6,16,27,30,45]
Dim $bilet10[30] = [19,21,34,51,79,9,13,47,54,88,39,44,65,78,89,18,36,46,56,82,14,22,32,64,71,2,20,40,55,72]


нужно как то посчитать повторяющиеся в них цифры. например цифра 17 есть в массивах $bilet1 и $bilet9, значит нужно записать 17 повторяется 2 раза. как это сделать?

Русское сообщество AutoIt

Как посчитать повторяющиеся цифр в массивах
« Отправлен: Март 13, 2018, 17:44:06 »

Помечен как лучший ответ пользователем sasha1304 Отправлен Март 13, 2018, 19:02:27

Онлайн gunter123 [?]

  • Осваивающий
  • **
  • Сообщений: 97
  • Репутация: 39
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Код: AutoIt [Выделить]
Dim $bilet1[30] = [17,39,42,55,70,7,11,24,69,89,5,29,44,73,81,1,14,26,37,46,3,20,56,66,71,10,32,50,74,88]
Dim $bilet2[30] = [29,46,60,71,83,9,19,36,50,74,8,24,32,45,54,23,35,52,68,78,12,27,47,51,80,6,48,69,75,89]
Dim $bilet3[30] = [3,46,68,70,80,4,12,27,52,77,19,32,55,66,84,18,21,31,44,62,7,48,69,78,85,16,28,37,57,75]
Dim $bilet4[30] = [16,20,37,58,84,18,43,66,77,82,4,27,51,62,78,2,28,59,67,90,10,25,36,53,70,1,12,39,48,87]
Dim $bilet5[30] = [47,56,66,72,81,6,38,49,63,88,4,10,28,55,74,29,31,43,57,85,3,19,23,36,62,5,16,40,53,70]
Dim $bilet6[30] = [27,38,48,50,82,12,45,52,73,86,4,29,32,64,76,25,33,43,57,78,16,59,61,79,84,5,18,23,46,85]
Dim $bilet7[30] = [14,30,47,67,81,11,29,56,70,80,9,33,42,52,64,32,43,58,62,78,7,12,25,55,88,5,16,24,79,89]
Dim $bilet8[30] = [6,11,23,38,84,8,24,35,43,79,18,41,58,62,86,1,30,54,69,83,10,27,45,59,75,19,28,47,68,76]
Dim $bilet9[30] = [23,42,66,74,84,5,17,59,64,87,21,32,46,54,75,1,50,67,73,88,14,24,39,68,89,6,16,27,30,45]
Dim $bilet10[30] = [19,21,34,51,79,9,13,47,54,88,39,44,65,78,89,18,36,46,56,82,14,22,32,64,71,2,20,40,55,72]

Dim $allBilet[10] = [$bilet1, $bilet2, $bilet3, $bilet4, $bilet5, $bilet6, $bilet7, $bilet8, $bilet9, $bilet10]

_Find(17)

Func _Find($iNum)
   ConsoleWrite(" ### Ищем " & $iNum & " ### " & @CRLF)
   $iCount = 0
   For $i = 0 TO UBound($allBilet) -1
      For $j = 0 To UBound($allBilet[$i]) -1
         If ($allBilet[$i])[$j] = $iNum Then
            $iCount = $iCount +1
            ConsoleWrite(" --- Найдено в массиве #" & $i + 1 & @CRLF)
         EndIf
      Next
   Next
   ConsoleWrite(" ### Всего найдено: " & $iCount & @CRLF & @CRLF)
EndFunc

Is it future or is it past?

Оффлайн sasha1304 [?]

  • Новичок
  • *
  • Сообщений: 38

  • Автор темы
  • Репутация: 0
    • Награды
Спасибо, вы мне очень помогли. :IL_AutoIt_1:



Код: AutoIt [Выделить]
Dim $bilet1[30] = [17,39,42,55,70,7,11,24,69,89,5,29,44,73,81,1,14,26,37,46,3,20,56,66,71,10,32,50,74,88]
Dim $bilet2[30] = [29,46,60,71,83,9,19,36,50,74,8,24,32,45,54,23,35,52,68,78,12,27,47,51,80,6,48,69,75,89]
Dim $bilet3[30] = [3,46,68,70,80,4,12,27,52,77,19,32,55,66,84,18,21,31,44,62,7,48,69,78,85,16,28,37,57,75]
Dim $bilet4[30] = [16,20,37,58,84,18,43,66,77,82,4,27,51,62,78,2,28,59,67,90,10,25,36,53,70,1,12,39,48,87]
Dim $bilet5[30] = [47,56,66,72,81,6,38,49,63,88,4,10,28,55,74,29,31,43,57,85,3,19,23,36,62,5,16,40,53,70]
Dim $bilet6[30] = [27,38,48,50,82,12,45,52,73,86,4,29,32,64,76,25,33,43,57,78,16,59,61,79,84,5,18,23,46,85]
Dim $bilet7[30] = [14,30,47,67,81,11,29,56,70,80,9,33,42,52,64,32,43,58,62,78,7,12,25,55,88,5,16,24,79,89]
Dim $bilet8[30] = [6,11,23,38,84,8,24,35,43,79,18,41,58,62,86,1,30,54,69,83,10,27,45,59,75,19,28,47,68,76]
Dim $bilet9[30] = [23,42,66,74,84,5,17,59,64,87,21,32,46,54,75,1,50,67,73,88,14,24,39,68,89,6,16,27,30,45]
Dim $bilet10[30] = [19,21,34,51,79,9,13,47,54,88,39,44,65,78,89,18,36,46,56,82,14,22,32,64,71,2,20,40,55,72]

Dim $allBilet[10] = [$bilet1, $bilet2, $bilet3, $bilet4, $bilet5, $bilet6, $bilet7, $bilet8, $bilet9, $bilet10]

_Find(17)

Func _Find($iNum)
   ConsoleWrite(" ### Ищем " & $iNum & " ### " & @CRLF)
   $iCount = 0
   For $i = 0 TO UBound($allBilet) -1
      For $j = 0 To UBound($allBilet[$i]) -1
         If ($allBilet[$i])[$j] = $iNum Then
            $iCount = $iCount +1
            ConsoleWrite(" --- Найдено в массиве #" & $i + 1 & @CRLF)
         EndIf
      Next
   Next
   ConsoleWrite(" ### Всего найдено: " & $iCount & @CRLF & @CRLF)
EndFunc


Оффлайн ra4o [?]

  • Скриптер
  • ****
  • Сообщений: 784
  • Репутация: 137
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Вам нужно знать количество повторений всех цифр в массиве или какой-то конкретной одной ?

Русское сообщество AutoIt

Re: Как посчитать повторяющиеся цифр в массивах
« Ответ #3 Отправлен: Март 13, 2018, 21:39:47 »

Онлайн joiner [?]

  • Расмус-бродяга
  • AutoIt Гуру
  • *****
  • Сообщений: 2667
  • Репутация: 451
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
до кучи мой вариант поиска всех совпадений

(нажмите для показа/скрытия)

Были времена, когда солнце было ярче, трава зеленее, а водка сорокоградуснее

Оффлайн Tempo [?]

  • Продвинутый
  • ***
  • Сообщений: 343
  • Репутация: 81
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
И еще варианты
(нажмите для показа/скрытия)

Оффлайн InnI [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 3754
  • Репутация: 991
    • Награды
  • Версия AutoIt: 3.3.14.0
Простой вариант для чисел
(нажмите для показа/скрытия)

Русское сообщество AutoIt

Re: Как посчитать повторяющиеся цифр в массивах
« Ответ #6 Отправлен: Март 14, 2018, 16:54:13 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
2 Ответов
3938 Просмотров
Последний ответ Апрель 27, 2010, 18:06:09
от Hellbender
33 Ответов
12768 Просмотров
Последний ответ Октябрь 31, 2012, 20:51:43
от Suppir
10 Ответов
6840 Просмотров
Последний ответ Май 09, 2011, 19:10:32
от AZJIO
15 Ответов
8016 Просмотров
Последний ответ Август 19, 2011, 17:04:51
от dwerf
6 Ответов
3405 Просмотров
Последний ответ Сентябрь 24, 2011, 01:54:04
от AZJIO
5 Ответов
2515 Просмотров
Последний ответ Март 02, 2014, 17:10:54
от C2H5OH
6 Ответов
1804 Просмотров
Последний ответ Октябрь 06, 2014, 11:46:49
от vaf
7 Ответов
2909 Просмотров
Последний ответ Май 08, 2015, 23:32:01
от Tapok
3 Ответов
1402 Просмотров
Последний ответ Май 11, 2016, 16:18:36
от AZJIO
3 Ответов
664 Просмотров
Последний ответ Март 24, 2017, 15:19:33
от inververs