C#, Python и др. языки для числовых лотерей.

Программы для анализа и игры в лотереи

Модераторы: nord73, bubumbr

Ответить
Аватара пользователя
Igor-san
Site Admin
Site Admin
Сообщения: 11246
Зарегистрирован: Чт май 08, 2003 4:00 am
Откуда: Moscow
Благодарил (а): 18 раз
Поблагодарили: 229 раз
Контактная информация:

Re: C#, Python и др. языки для числовых лотерей.

Сообщение Igor-san » Вт сен 10, 2019 3:30 pm

Andre писал(а):
Вт сен 10, 2019 2:41 pm
Вот одно понять не могу ,зачем столько придумано языков программирования ?
Это типо конкуренции между собой .
Кто то придумал Питон ,кто то С++ итд. .
И программист выбирает то ,что ему нравиться. так получается...…
А в целом то всё одинаковое +-
Кто то горячие любит, кто то холодные, кто то ряды а кто то Маркова. Вот и с языками также, а ещё каждая фирма свой язык продвигает. А нам приходится изучать самые распространенные и использовать что понравилось.

Аватара пользователя
Andre
Гуру
Гуру
Сообщения: 8896
Зарегистрирован: Пт сен 24, 2010 3:11 pm
Откуда: Deutschland
Благодарил (а): 8 раз
Поблагодарили: 216 раз

Re: C#, Python и др. языки для числовых лотерей.

Сообщение Andre » Вт сен 10, 2019 4:34 pm

Slawa Ms писал(а):
Вт сен 10, 2019 12:36 pm
И основные усилия должны быть направлены на разработку алгоритмов игры.
Для этого нужно, в идеале, знать статистику, .
И терпение при программировании . В статистике имеются разные методы обработки информации.
Создать статистическую модель особо проблем не составляет - проблемма выбрать метод обработки .
Методы нужно перебрать и найти более оптимальный .
Правильно, подобранный метод обработки ,
является матрицей для раскрывания других стат. моделей.
Лоторея - это комбинаторный хаос , во всей его красе.
Игра Рулетка имеет одну линию
тир. истории 1.3.36.5.13.11. итд.
в лото начинается от 2 линий (звёзды Ев.мил. Дп.) и выше ,предел кено 20 из 80 .
Так как бороться с таким демоном ?
Сложными статистиками ,в комбинаторном исполнении.
Как хаос к нам так и мы к нему, той же стороной.
Комбинаторные стат.показатели . - являются матрицей для раскрывания новых стат. моделей.
Для примера .
Лото имеет тир. 1 12 22 23 35 - комбинация .
игрок может использовать информацию раздробив её. на составляющие.
Комбинаторная статистика работает так же.
Совокупность несколько показателей в комбинации.
Но сложность в том ,что создав линейную модель - нашли показатели для дальнейшей обработки.
аналитик, чтоб дальше двинуться, не в состоянии развернуть на листе бумаги ,имеющуюся в ней информацию .
Для этого требуется грамотный программист и всё одно за другое цепляется.
Возможно и есть хорошие программы для игр в лото, но их вряд ли кто когда либо увидят на рынке .
Понятное дело, затратив уйму времени, разработчик навряд ли захочет делится как
стат. направлениями,алгоритмами которые в ней заложены . Да и самой прогой….
Так как не блинчики на масленице предлогает.

Аватара пользователя
DANILIN78
Гуру
Гуру
Сообщения: 1532
Зарегистрирован: Пт июн 06, 2014 6:29 pm
Благодарил (а): 203 раза
Поблагодарили: 101 раз
Контактная информация:

Re: C#, Python и др. языки для числовых лотерей.

Сообщение DANILIN78 » Вт сен 10, 2019 5:21 pm

опять тема программирования скатывается в обсуждение систем

в программировании мне помогают команды
записи на диск и считывания с диска
на разных языках программирования

что позволяет использовать упорядоченные
исходные данные в текстовых файлах

bariska
Новичок
Новичок
Сообщения: 2
Зарегистрирован: Вт сен 10, 2019 1:02 pm
Благодарил (а): 2 раза

Re: C#, Python и др. языки для числовых лотерей.

Сообщение bariska » Вт сен 10, 2019 5:22 pm

Igor-San напиши на личку ибо я не могу есть предложение

Аватара пользователя
Igor-san
Site Admin
Site Admin
Сообщения: 11246
Зарегистрирован: Чт май 08, 2003 4:00 am
Откуда: Moscow
Благодарил (а): 18 раз
Поблагодарили: 229 раз
Контактная информация:

Re: C#, Python и др. языки для числовых лотерей.

Сообщение Igor-san » Вт сен 10, 2019 5:24 pm

bariska писал(а):
Вт сен 10, 2019 5:22 pm
Igor-San напиши на личку ибо я не могу есть предложение
Просто новички без сообщений не могут писать в личку и размещать посты без премодерации.

Аватара пользователя
иван
Гуру
Гуру
Сообщения: 1117
Зарегистрирован: Пн янв 26, 2009 3:35 pm
Откуда: Краноярск
Благодарил (а): 87 раз
Поблагодарили: 127 раз

Re: C#, Python и др. языки для числовых лотерей.

Сообщение иван » Вт сен 10, 2019 5:27 pm

DANILIN78 писал(а):
Вт сен 10, 2019 5:21 pm
опять тема программирования скатывается в обсуждение систем

в программировании мне помогают команды
записи на диск и считывания с диска
на разных языках программирования

что позволяет использовать упорядоченные
исходные данные в текстовых файлах
Если не затруднит выложи исходный код программы.
И опиши сами команды как ими пользоваться.

bariska
Новичок
Новичок
Сообщения: 2
Зарегистрирован: Вт сен 10, 2019 1:02 pm
Благодарил (а): 2 раза

Re: C#, Python и др. языки для числовых лотерей.

Сообщение bariska » Вт сен 10, 2019 5:33 pm

Igor-san писал(а):
Вт сен 10, 2019 5:24 pm
bariska писал(а):
Вт сен 10, 2019 5:22 pm
Igor-San напиши на личку ибо я не могу есть предложение
Просто новички без сообщений не могут писать в личку и размещать посты без премодерации.
Написал вроде как

Аватара пользователя
DANILIN78
Гуру
Гуру
Сообщения: 1532
Зарегистрирован: Пт июн 06, 2014 6:29 pm
Благодарил (а): 203 раза
Поблагодарили: 101 раз
Контактная информация:

Re: C#, Python и др. языки для числовых лотерей.

Сообщение DANILIN78 » Вт сен 10, 2019 7:04 pm

все мои программы в теме начала года
viewtopic.php?p=121513#p121513

и копия темы ещё на 5-ти сайтах
остановился на элементах управления форм

Аватара пользователя
иван
Гуру
Гуру
Сообщения: 1117
Зарегистрирован: Пн янв 26, 2009 3:35 pm
Откуда: Краноярск
Благодарил (а): 87 раз
Поблагодарили: 127 раз

Re: C#, Python и др. языки для числовых лотерей.

Сообщение иван » Вт сен 10, 2019 7:57 pm

Написал (точнее собрал готовые коды) программу для подсчета количества совпадений чисел комбинаций.
2019-09-10_22-30-18.png
2019-09-10_22-30-18.png (18.64 КБ) 175 просмотров
Код программы:

Код: Выделить всё

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace NumberCoincidence_0002
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Button1_Click(object sender, EventArgs e) /*Кнопка которая вычесляет совпадения*/
        {
            /*Преобразовываем первый ввод чисел*/

            //разбиваем по пробелу, удаляя пустые элементы если будет - например много пробелов
            string[] array1 = textBox1.Text.Trim().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);

            int[] arrey1 = new int[array1.Length]; /*длинна введенного массива*/
            for (int i = 0; i < array1.Length; i++) /*цикл перебора введенного массива*/ /*разбивка по элементам*/
            {
                arrey1[i] = Convert.ToInt32(array1[i]); /*конвертируем строку в число*/
            }
            textBox1.Text = string.Join(" ", arrey1); /*преобразование массива чисел в строку*/

            /*Преобразовываем второй ввод чисел*/

            //разбиваем по пробелу, удаляя пустые элементы если будет - например много пробелов
            string[] array2 = textBox2.Text.Trim().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);

            int[] arrey2 = new int[array2.Length];  /*длинна введенного массива*/
            for (int i = 0; i < array2.Length; i++) /*цикл перебора введенного массива*/ /*разбивка по элементам*/
            {
                arrey2[i] = Convert.ToInt32(array2[i]); /*конвертируем строку в число*/
            }
            textBox2.Text = string.Join(" ", arrey2); /*преобразование массива чисел в строку*/

            //Код для вычесления совпадений arrey1 и arrey2

            int Count = 0; /*начальная сумма совпадений*/

            for (int i = 0; i < array1.Length; i++)
            {
                for (int j = 0; j < array2.Length; j++)
                {
                    
                    if(array1[i] == array2[j])

                    Count++;  
                }
                textBox3.Text = Count.ToString();
        

             }
         }
         
     }    
 }
    

Еще нужно немного доработать что бы при введении разной длинны комбинаций выдавала ошибку в MessageBox.
А сечас программа сравнивает комбинации любой длинны.
Видимо нужно добавить условие If (если) array1 == array2 то сравниваем комбинации
else (иначе) MessageBox " Вы ввели комбинации разной длинны".
И еще хотелось бы что бы отдельно выводились совпавшие числа (пока не разбирался как это реализовать.
Пока числа записал сам для наглядности
2019-09-10_22-51-48.png
2019-09-10_22-51-48.png (20.35 КБ) 175 просмотров
Так же нужно добавить кнопку открыть файл
И еще со временем сделать что бы программа сравнивала в место одномерного массива двумерный и выводила результаты так же в двумерном массиве.

Аватара пользователя
Igor-san
Site Admin
Site Admin
Сообщения: 11246
Зарегистрирован: Чт май 08, 2003 4:00 am
Откуда: Moscow
Благодарил (а): 18 раз
Поблагодарили: 229 раз
Контактная информация:

Re: C#, Python и др. языки для числовых лотерей.

Сообщение Igor-san » Вт сен 10, 2019 8:29 pm

иван писал(а):
Вт сен 10, 2019 7:57 pm
Еще нужно немного доработать что бы при введении разной длинны комбинаций выдавала ошибку в MessageBox.
А это обязательно? Потому как и в текущей реализации сравнение будет идти корректно двух неравных массивов.
иван писал(а):
Вт сен 10, 2019 7:57 pm
А сечас программа сравнивает комбинации любой длинны.
Видимо нужно добавить условие If (если) array1 == array2 то сравниваем комбинации
else (иначе) MessageBox " Вы ввели комбинации разной длинны".
Это правильный подход.

Для улучшения (если не оговорено иначе) - сделать проверку на неповторяемость шаров в варианте, чтобы не было типа 1 15 25 15 36
иван писал(а):
Вт сен 10, 2019 7:57 pm
И еще хотелось бы что бы отдельно выводились совпавшие числа (пока не разбирался как это реализовать.
При сравнении if(array1[ i] == array2[j]) добавляй этот самый шар array1[ i] в список совпадений (List<int> listballs), а потом просто печатай его. В нем есть и метод count() - который выдаст число элементов, т.е. int Count можно убрать совсем.

Ну а двумерный массив это тот же одномерный, только разделенные на несколько рядов :) Все операции те же, просто дополнительный внешний цикл, и например список совпавших шаров listballs будет выглядеть как List<List<int>> listballs (или List<int>[] listballs)

Аватара пользователя
DANILIN78
Гуру
Гуру
Сообщения: 1532
Зарегистрирован: Пт июн 06, 2014 6:29 pm
Благодарил (а): 203 раза
Поблагодарили: 101 раз
Контактная информация:

Re: C#, Python и др. языки для числовых лотерей.

Сообщение DANILIN78 » Ср сен 11, 2019 1:00 pm

накануне за 2 часа сочинил используя только мои наработки
и надеюсь далее развить элементы управления
и добавится какая-нибудь бегущая строка

особенность: элементы под номерами вместо букв
и важно додумать как внедрить индексы и массивы в формы
и применить всевозможные формы управления



плюс кнопки появляются поочерёдно
плюс применён стиль qbasic блок команд в строке и ещё сплющил на 22 строки
плюс мой выбор 1cs=1exe значит включится у многих без Visual Studio

Код: Выделить всё

// POLE.cs
using System; using System.IO;
using System.Drawing; using System.Diagnostics;
using System.Windows.Forms; namespace POLE
{
	public class Program
{
static void Main()
	{
Application.Run(new POLE());
	}
	}
	class POLE : Form 
	{
double[] d = new double[5];Random rand = new Random();
ComboBox comboBox1;ComboBox comboBox2;ComboBox comboBox3;ComboBox comboBox4;
Button button1;	Button button2;
TextBox textBox1; TextBox textBox2; TextBox textBox3; TextBox textBox4; 
TextBox textBox5; TextBox textBox6; TextBox textBox7; TextBox textBox8; 

	public POLE()
	{
comboBox1 = new ComboBox();
	comboBox1.Location = new Point(45, 50); comboBox1.Width = 40;
comboBox1.Items.Add("7");comboBox1.Items.Add("8");comboBox1.Items.Add("9");
comboBox1.Items.Add("10");comboBox1.Items.Add("11");comboBox1.Items.Add("12");
	comboBox1.SelectedIndex = 1;
comboBox2 = new ComboBox();
	comboBox2.Location = new Point(105, 50); comboBox2.Width = 40;
comboBox2.Items.Add("24");comboBox2.Items.Add("23");comboBox2.Items.Add("22");
comboBox2.Items.Add("21");comboBox2.Items.Add("20");comboBox2.Items.Add("19");
	comboBox2.SelectedIndex = 3;
comboBox3 = new ComboBox();
	comboBox3.Location = new Point(165, 50); comboBox3.Width = 40;
comboBox3.Items.Add("3");comboBox3.Items.Add("2");comboBox3.Items.Add("1");
comboBox3.Items.Add("4");comboBox3.Items.Add("5");comboBox3.Items.Add("6");
	comboBox3.SelectedIndex = 4;
comboBox4 = new ComboBox();
	comboBox4.Location = new Point(225, 50); comboBox4.Width = 40;
comboBox4.Items.Add("13");comboBox4.Items.Add("15");comboBox4.Items.Add("17");
comboBox4.Items.Add("14");comboBox4.Items.Add("15");comboBox4.Items.Add("16");
	comboBox4.SelectedIndex = 5;

button1 = new Button();	
	button1.Location = new System.Drawing.Point(115, 80);
	button1.Width = 80; button1.Text = "Пиши Читай";
	button1.Click+=button1_Click;

var label1 = new Label(); label1.Text = "HOMEPA";
	label1.Location = new System.Drawing.Point(125, 28);

Controls.Add(comboBox1);Controls.Add(comboBox2);Controls.Add(comboBox3);Controls.Add(comboBox4);
Controls.Add(button1);Controls.Add(label1); 
	}

private void button1_Click(object sender, EventArgs e)
	{ 
var outFile = new StreamWriter("dan.txt");
outFile.WriteLine(comboBox1.Text);outFile.WriteLine(comboBox2.Text);
outFile.WriteLine(comboBox3.Text);outFile.WriteLine(comboBox4.Text);
outFile.Close(); var inpFile = new StreamReader("dan.txt");

textBox1=new TextBox(); this.Controls.Add(textBox1); 
	textBox1.Text = inpFile.ReadLine(); textBox1.Width = 40;
	textBox1.Location = new System.Drawing.Point(225, 120);
textBox2=new TextBox(); this.Controls.Add(textBox2); 
	textBox2.Text = inpFile.ReadLine(); textBox2.Width = 40;
	textBox2.Location = new System.Drawing.Point(165, 120);
textBox3=new TextBox(); this.Controls.Add(textBox3); 
	textBox3.Text = inpFile.ReadLine(); textBox3.Width = 40;
	textBox3.Location = new System.Drawing.Point(105, 120);
textBox4=new TextBox(); this.Controls.Add(textBox4); 
	textBox4.Text = inpFile.ReadLine(); textBox4.Width = 40;
	textBox4.Location = new System.Drawing.Point(45, 120);
inpFile.Close();

button2 = new Button();	button2.Text = "Улучшь";
	button2.Location = new System.Drawing.Point(115, 160);
	button2.Click+=button2_Click; 	Controls.Add(button2);
	}

private void button2_Click(object sender, EventArgs e)
	{
d[1]=double.Parse(textBox1.Text);d[2]=double.Parse(textBox2.Text);
d[3]=double.Parse(textBox3.Text);d[4]=double.Parse(textBox4.Text);

for (int i = 1; i <= 3; i++)
	for (int j = i+1; j <= 4; j++)
	{ if (d[i] > d[j])
	{var temp = d[j];d[j] = d[i];d[i] = temp;}
	}

for (int t = 1; t <= 500; t++)
{textBox5=new TextBox();  
	textBox5.Text = (d[1].ToString()); textBox5.Width = 40;
	textBox5.Location = new System.Drawing.Point(45, 220); 
	this.Controls.Add(textBox5); }
for (int t = 1; t <= 500; t++)
{textBox6=new TextBox();
	textBox6.Text = (d[2].ToString()); textBox6.Width = 40;
	textBox6.Location = new System.Drawing.Point(105, 220);
	this.Controls.Add(textBox6); }
for (int t = 1; t <= 500; t++)
{textBox7=new TextBox();
	textBox7.Text = (d[3].ToString()); textBox7.Width = 40;
	textBox7.Location = new System.Drawing.Point(165, 220);
	this.Controls.Add(textBox7); }
textBox8=new TextBox();
	textBox8.Text = (d[4].ToString()); textBox8.Width = 40;
	textBox8.Location = new System.Drawing.Point(225, 220);
	this.Controls.Add(textBox8); 
}}}
компилирую через pole.bat

csc.exe /target:winexe POLE.cs
pause

Аватара пользователя
Igor-san
Site Admin
Site Admin
Сообщения: 11246
Зарегистрирован: Чт май 08, 2003 4:00 am
Откуда: Moscow
Благодарил (а): 18 раз
Поблагодарили: 229 раз
Контактная информация:

Re: C#, Python и др. языки для числовых лотерей.

Сообщение Igor-san » Ср сен 11, 2019 5:04 pm

DANILIN78 писал(а):
Ср сен 11, 2019 1:00 pm
накануне за 2 часа сочинил используя только мои наработки
А вот это (и подобное)

Код: Выделить всё

for (int t = 1; t <= 500; t++)
{textBox5=new TextBox();  
	textBox5.Text = (d[1].ToString()); textBox5.Width = 40;
	textBox5.Location = new System.Drawing.Point(45, 220); 
	this.Controls.Add(textBox5); }
тоже из своих наработок или взял откуда? Для чего 500 экземпляров одного текстового поля переписывающих друг друга? В чем идея?

Аватара пользователя
DANILIN78
Гуру
Гуру
Сообщения: 1532
Зарегистрирован: Пт июн 06, 2014 6:29 pm
Благодарил (а): 203 раза
Поблагодарили: 101 раз
Контактная информация:

Re: C#, Python и др. языки для числовых лотерей.

Сообщение DANILIN78 » Ср сен 11, 2019 5:56 pm

то просто визуализация появления окошек по очереди
мож далее потребуется анимация

важнее упрощение списков только не успел отредактировать

Код: Выделить всё

comboBox1 = new ComboBox();
	comboBox1.Location = new Point(45, 50); comboBox1.Width = 40;
comboBox1.Items.AddRange(new string[] {"7","8","9","10","11","12"});
	comboBox1.SelectedIndex = 1;
и надо вспомнить какие существуют формы типа:
окошко списки радио флажок ручка и все применить в форме
тогда другие программы будут собираться за минуты вручную
и почти у всех включатся

сегодняшний пример помогает изучить:

расположение элементов на форме
выбор из списка
нажатие кнопок
замена данных в окнах после 1-й кнопки
запись на диск
чтение с диска
заполнение окон считанными данными
сортировка

плюс дизайн программы уменьшающий длину программы
плюс имя программы в начале и команда компиляции

но онлайн компиляторы знаю только для dos версий без окон

жду когда читатели скомпилируют любые программы темы

Аватара пользователя
иван
Гуру
Гуру
Сообщения: 1117
Зарегистрирован: Пн янв 26, 2009 3:35 pm
Откуда: Краноярск
Благодарил (а): 87 раз
Поблагодарили: 127 раз

Re: C#, Python и др. языки для числовых лотерей.

Сообщение иван » Ср сен 11, 2019 7:11 pm

Код: Выделить всё

 List<int> listballs = new List<int>();
           


            for (int i = 0; i < array1.Length; i++)
            {
                for (int j = 0; j < array2.Length; j++)
                {

                    if (array1[i] == array2[j])

                        listballs.Add(new int());

                    listballs = array1;



                }

               
                textBox4.Text = listballs.ToString();
2019-09-11_22-04-52.png
2019-09-11_22-04-52.png (11.2 КБ) 61 просмотр
Пробую код для вывода совпавших чисел.
Интересует я сейчас на правильном пути .
И что это за ошибка исправить не получаеться или я не правильно добавляю шар array1[ i] в список совпадений (List<int> listballs)

Аватара пользователя
Igor-san
Site Admin
Site Admin
Сообщения: 11246
Зарегистрирован: Чт май 08, 2003 4:00 am
Откуда: Moscow
Благодарил (а): 18 раз
Поблагодарили: 229 раз
Контактная информация:

Re: C#, Python и др. языки для числовых лотерей.

Сообщение Igor-san » Ср сен 11, 2019 8:31 pm

иван писал(а):
Ср сен 11, 2019 7:11 pm

Код: Выделить всё

                    if (array1[ i] == array2[j])

                        listballs.Add(new int());

                    listballs = array1;
1) Всегда заключай блок кода в скобки {}, потому как непонятно что ты хочешь делать выше (пока отвлечемся от ошибок в самом коде).

Код: Выделить всё

if (array1[i] == array2[j]) //если это истина то следующая строка выполнится
   listballs.Add(new int());
 listballs = array1;//а эта строка будет выполняться всегда независимо от условия выше.
 


А может ты хотел так:

Код: Выделить всё

 if (array1[ i] == array2[j]) //если это истина то следующие 2 строки выполнится. Иначе нет
{
     listballs.Add(new int());
    listballs = array1;
}
 


2)new int() это ты создал новое целое которое приняло значение 0. Его и добавил в listballs. Нужно listballs.Add(array1[ i]);

3) Ошибка listballs = array1; потому что это совершенно разные типы, один список другой массив. Да и это тут не нужно. Добавление в массив в пункте 2.
4) Вывод такой же как и с массивом textBox1.Text = string.Join(" ", listballs); //это шаблонные функции которые могут принимать все коллекции

З.Ы.
сочетание переводит текст поста в италик, приходится пробел подставлять [ i], или кодом оборачивать

Ответить

Вернуться в «Программы для лотереи»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость