|
0 / 0 / 0
Регистрация: 26.10.2018
Сообщений: 31
|
|||||||||||
Поиск целых чисел и манипуляции26.10.2018, 17:12. Показов 6905. Ответов 59
Метки нет (Все метки)
Передо мной задача, есть ряд рандомных чисел от 1 до 20 в строке, числа целые, через пробел
0
|
|||||||||||
| 26.10.2018, 17:12 | |
|
Ответы с готовыми решениями:
59
Поиск числа в двухмерном массиве и манипуляции с ним |
|
0 / 0 / 0
Регистрация: 26.10.2018
Сообщений: 31
|
||||||
| 29.10.2018, 16:11 [ТС] | ||||||
|
Элд Хасп все круто, без ошибок, но теперь сама юнити не "умеет" читать C# 7.0, пытаюсь настроить -_-
Добавлено через 22 минуты Таааак уже интересно)) все заработало но выдает не то что нужно...как будто вы меня не так поняли или я где то накосячил опять, и какое бы число не выпало в рандоме (оно у нас записывается в Word), в текст index.text он мне выводит среднее арифметическое (оно мне не нужно!) и в текст outt.text мне выдает постоянно "Число 4 встретилось больше всего всех раз - 5". вот код, а и еще не обнуляется строка Word когда нет совпадений, не пойму почему, вроде все указано
Добавлено через 6 минут ОТСТАВИТЬ!!! я нашел ошибку =D моя ошибка, что уж тут поделать =D ListNubms не переименовал в ListSeek Добавлено через 10 минут Элд Хасп Я вам очень благодарен, сам то я еще бы долго мучился с этим) если не сложно, последнее что я хотел бы изменить, это вывести в текст сам % того насколько часто встречается число, например из ряда совпадений 12 12 12 6 мне должно вывести в текст outt.text = "12 75%"
0
|
||||||
|
Модератор
|
|
| 29.10.2018, 17:15 | |
|
Общее к-во полученных значений даёт
Values.Count(), количество определённого значения даёт Values.Count(val => val==numb), где numb значение количество которых надо подсчитать.Добавлено через 1 минуту Поделив второе на первое получите искомую долю. Добавлено через 1 минуту Пишу здесь без студии, может ошибаюсь. Возможно во втором случае нужно такое выражение Values.Count(numb), а возможно и оба будут работать.Добавлено через 10 минут По моему, Вы писали, что строка к которой ищутся совпадения , у Вас постоянна или редко меняется. Для оптимизации можно расчёт ListNumbs вынести в тот блок кода, где происходит установка значения строки numbers.
0
|
|
|
0 / 0 / 0
Регистрация: 26.10.2018
Сообщений: 31
|
|
| 29.10.2018, 17:28 [ТС] | |
|
пока что не до оптимизации, пытаюсь разобраться с делением, жалуется на numb, пишет не присвоено значение, ссылку нужно как то указать или что?
Добавлено через 3 минуты до сих пор разбираюсь как это работает))
0
|
|
|
Модератор
|
|||||||
| 29.10.2018, 17:49 | |||||||
|
Можно переписать строчку
0
|
|||||||
|
0 / 0 / 0
Регистрация: 26.10.2018
Сообщений: 31
|
||||||
| 29.10.2018, 18:51 [ТС] | ||||||
|
Постоянно 100% выдает, не зависимо от чего либо
Добавлено через 40 минут по идее все правильно, но где то косяк....я в тупике опять -_-
0
|
||||||
|
Модератор
|
||||||
| 29.10.2018, 19:11 | ||||||
|
[quote="ClowMiX;13012714"]Посмотрите в пост #24 , я там просто запутался что на что делить. Сделал наоборот. Надо так
0
|
||||||
|
0 / 0 / 0
Регистрация: 26.10.2018
Сообщений: 31
|
|
| 29.10.2018, 19:54 [ТС] | |
|
Теперь постоянно 0 выдает, пытаюсь понять что на что он делит и откуда ноль, или в прошлом 100, и чет не пойму как так выходит блин
0
|
|
|
Модератор
|
||||||
| 29.10.2018, 20:31 | ||||||
|
перед строкой вывода, проверьте в отладке значения выражений ValMax.Key, ValMax.Count(), Values.Count(), ValMax.Count()/Values.Count()*100
Добавлено через 10 минут Опаньки.... Нашёл оплошность. В выражении ValMax.Count()/Values.Count()*100 все целые и вместо деления, получаем операцию целочисленного деления. Надо так
0
|
||||||
|
0 / 0 / 0
Регистрация: 26.10.2018
Сообщений: 31
|
||||||
| 29.10.2018, 20:34 [ТС] | ||||||
|
вывел в текст отдельно и понял, делить нужно {Values.Count(val => val == numb)} на {Values.Count()} и умножать на 100. получается верный %, но почему то он не считает когда строка идет полностью
0
|
||||||
|
Модератор
|
||
| 29.10.2018, 20:38 | ||
Сообщение было отмечено ClowMiX как решение
РешениеПосмотрите пост #28 - я там уже написал решения.
0
|
||
|
0 / 0 / 0
Регистрация: 26.10.2018
Сообщений: 31
|
|
| 29.10.2018, 20:40 [ТС] | |
|
Вот это поворот, многому мне еще надо научиться, огромное Вам спасибо)
0
|
|
|
0 / 0 / 0
Регистрация: 26.10.2018
Сообщений: 31
|
|
| 29.10.2018, 21:20 [ТС] | |
|
И я как обычно ворона, мои числа то разделены на группы, например числа от 1-5 группа red, 6-10 green, 11-15 yellow, 16-20 blye, и выводить то надо % группы, в которой будет больше следующих повторяющихся чисел после поиска =D буду рад если подскажете с чего начать, я так понял все те числа что следующие, хранятся в списке...или нет
Добавлено через 14 минут получается нужно все числа Value сначала пересчитать в % потом сгруппировать все в группы соответственно и сложить все % для каждой группы епамама
0
|
|
|
0 / 0 / 0
Регистрация: 26.10.2018
Сообщений: 31
|
|
| 29.10.2018, 21:49 [ТС] | |
![]() ну вот самое большое число то мы вывели, а как на счет остальных, им как бы тоже нужно привязать этот %. (1-5 группа red, 6-10 green, 11-15 yellow, 16-20 blye) после пары нажатий на кнопку допустим след числа у нас 1 2 3 4 6 7 11 18 19 20. т.к. тут 10 чисел и легко посчитать сейчас что каждое число у нас это 10%. но числа разделены на группы. получается группа red в сумме % имеет 40%, green - 20%, yellow 10%, и blue 30%, и вывести то на экран надо группу с наибольшим%, в нашем случае Red 40% Добавлено через 13 минут Пример то я привел, а на деле получается даже 5 групп, и 25 чисел надо брать... Названия групп и числа которые в нее входят: red - 1 yellow - 2 4 6 8 10 13 15 17 19 21 23 25 green - 3 7 11 16 20 24 blue - 5 12 14 22 purple - 9 18 да, пусть будет так, так будет удобнее (для меня))
0
|
|
|
Модератор
|
||||||
| 29.10.2018, 22:14 | ||||||
|
Не знаю правильно ли понял Вас. Посмотрите такой код
0
|
||||||
|
0 / 0 / 0
Регистрация: 26.10.2018
Сообщений: 31
|
|
| 29.10.2018, 22:26 [ТС] | |
|
Я вас утомил наверное =)
В общем постараюсь сам разобраться, если правильно понимаю что Value это список чисел с которыми производится манипуляция, осталось только в группы объединить.
0
|
|
|
Модератор
|
||
| 29.10.2018, 22:31 | ||
Values.GroupBy(val => val).OrderBy(gr => gr.Count()).Reverse()Добавлено через 1 минуту Да, строка var ValMax = Values.GroupBy(val => val).OrderBy(gr => gr.Count()).Reverse().ElementAt(0); выбирает группу с максимальной частотой встречи. Если он не нужна - удалите её.Добавлено через 1 минуту Код в посте 36 должен вывести все полученные группы по убыванию. Выводит?
0
|
||
|
0 / 0 / 0
Регистрация: 26.10.2018
Сообщений: 31
|
|
| 29.10.2018, 22:40 [ТС] | |
|
Этот код для меня в новизну, вроде начал вникать, но как правильно задать теперь каждому числу группу? или я что то не так понимаю, ведь в итоге outt.text должен мне выдать например red 40%
Добавлено через 2 минуты Код в посте 36 выводит мне цифру а не группу
0
|
|
|
Модератор
|
|||
| 29.10.2018, 22:46 | |||
|
На выходе выражения Values.GroupBy(val => val).OrderBy(gr => gr.Count()).Reverse() получаются все извлечённые значения (числа) сгруппированные в группы по одинаковым значениям. Свойство Key группы даёт (в этом случае) значение, метод Count() - сколько их в группе, то есть сколько раз оно встречалось в исходном списке.Добавлено через 2 минуты
0
|
|||
| 29.10.2018, 22:46 | |
|
Поиск заданного элемента в упорядоченном по возрастанию массиве целых чисел Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей.
Самым главным критерием для. . .
|
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store.
И так:
1. Скачиваем с. . .
|
Программное добавление префикса в нумерацию документов
Maks 27.10.2026
Реализация из решения ниже выполнена в самописной конфигурации на БСП (помощь начинающему коллеге).
Задача:
Программно добавить префикс в нумерацию документов.
Решение:
В модуле объекта. . .
|
После закрытия оутлука продолжает висеть процесс в диспетчере задач
Maks 27.10.2026
С недавнего времени в продакшене возникла проблема: при закрытии оутлука в диспетчере задач продолжал висеть процесс outlook. exe. Проблема возникла после установки MS Office 2021 LTSC на машинах, под. . .
|
|
Baragoz - DPS/HPS бот для WoW 3.3.5a, многоязычный
AmbA 26.10.2026
Хотите ещё ботов? У меня есть один! А я пока отдохну от него.
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=12062&stc=1&d=1793007952
Инструкция внутри.
https:/ / youtu. be/ VpfFZSUDGnQ. . .
|
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности.
Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
|
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version
Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
|
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер
На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
|