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

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

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

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

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

Сообщение иван » Чт сен 19, 2019 6:53 pm

Теперь еще появилась одна проблема при повторном нажатии на кнопку результат вывода добавляеться к существующему результату
//сумма всех двоек в комбинации
//разность всех двоек

for (int i = 0; i < strArray.Length - 1; i++)
{
for (int j = i + 1; j < strArray.Length; j++)
{
//выводит все числа массива пример 3 4 5 6 5 6 7 7 8 9
//но при повторном нажатии на кнопку выводит результат еще раз пример 3 4 5 6 5 6 7 7 8 9 3 4 5 6 5 6 7 7 8 9
textBox4.Text += (intArray[j] + intArray) + " ".ToString(); //сумма всех двоек в комбинации
textBox5.Text += (intArray[j] - intArray) + " ".ToString(); //разность всех двоек

//выводит только последнее число массива пример 3
textBox6.Text = string.Join(" ", intArray[j] + intArray); //сумма всех двоек в комбинации
textBox7.Text = string.Join(" ", intArray[j] - intArray); //разность всех двоек


}
Как мне решить проблему что нужно сделать в строке вывода?

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

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

Сообщение Igor-san » Чт сен 19, 2019 8:56 pm

иван писал(а):
Чт сен 19, 2019 6:53 pm

//выводит все числа массива пример 3 4 5 6 5 6 7 7 8 9
//но при повторном нажатии на кнопку выводит результат еще раз пример 3 4 5 6 5 6 7 7 8 9 3 4 5 6 5 6 7 7 8 9
textBox4.Text += (intArray[j] + intArray) + " ".ToString(); //сумма всех двоек в комбинации
textBox5.Text += (intArray[j] - intArray) + " ".ToString(); //разность всех двоек

//выводит только последнее число массива пример 3
textBox6.Text = string.Join(" ", intArray[j] + intArray); //сумма всех двоек в комбинации
textBox7.Text = string.Join(" ", intArray[j] - intArray); //разность всех двоек



1) Если использовать ...textBox4.Text +=.... То надо перед расчетом, в начале функции например, обнулять textBox4.Text ="";

2) Когда таких включений много, то при операциях со строками постоянно происходит копирование из одной строки в другую (строки не изменяемы в отличие от целых ) - что сказывается на занимаемой памяти. Для простых программ это незаметно, мусоросборщик работает. Можно воспользоваться StringBuilder - почитай про него. Тогда вначале функции создается экземпляр StringBuilder sb= new StringBuilder (). В процессе работы в него добавляются строки типа sb.Append((intArray[j] + intArray) + " ".ToString();); а в конце просто textBox4.Text = sb.ToString(); выводит все что в нем накопилось.

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

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

Сообщение DANILIN78 » Чт сен 19, 2019 9:37 pm

textBox определяется в другом файле программы
и у народа размещаемые части программ не включатся

мой выбор: определение textBox и любых элементов
внутри программы чтобы обеспечить 1bas=1cs=1exe

а также важно изучить чтение \ запись на диск

и хорошо бы кто-нибудь проверил бы программы
чисто: включилась \ невключилась

10 минут потратил на переделку формы с 7-ю элементами

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

// POLE3.cs
// csc.exe /target:winexe POLE3.cs
// pause
using System; using System.IO;
using System.Drawing; using System.Diagnostics;
using System.Windows.Forms; namespace POLE3
{
	public class Program
{static void Main()
{Application.Run(new POLE3());}}
	class POLE3 : Form 
	{
ComboBox comboBox1;ComboBox comboBox2;ComboBox comboBox3; 
TextBox textBox1; TextBox textBox2; TextBox textBox3; Button button1; 

	public POLE3()
	{
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;
comboBox2 = new ComboBox(); 
	comboBox2.Location = new Point(105, 50); comboBox2.Width = 40;
	comboBox2.Items.AddRange(new string[] {"24","23","22","21","20","19"});
	comboBox2.SelectedIndex = 3;
comboBox3 = new ComboBox(); 
	comboBox3.Location = new Point(165, 50); comboBox3.Width = 40;
	comboBox3.Items.AddRange(new string[] {"3","2","1","4","5","6"});
	comboBox3.SelectedIndex = 5;

button1 = new Button();	button1.Click+=button1_Click;
	button1.Location = new System.Drawing.Point(115, 80);
	button1.Width = 80; button1.Text = "Переставить";

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(button1); Controls.Add(label1); 
	}

private void button1_Click(object sender, EventArgs e)
	{ 

textBox1=new TextBox(); textBox1.Text = comboBox3.Text; textBox1.Width = 40;
	textBox1.Location = new System.Drawing.Point(45, 120);
textBox2=new TextBox(); textBox2.Text = comboBox1.Text; textBox2.Width = 40;
	textBox2.Location = new System.Drawing.Point(105, 120);
textBox3=new TextBox(); textBox3.Text = comboBox2.Text; textBox3.Width = 40;
	textBox3.Location = new System.Drawing.Point(165, 120);
Controls.Add(textBox1);Controls.Add(textBox2);Controls.Add(textBox3);
}}}

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

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

Сообщение иван » Пт сен 20, 2019 5:41 pm

DANILIN78 писал(а):
Чт сен 19, 2019 9:37 pm
textBox определяется в другом файле программы
и у народа размещаемые части программ не включатся

мой выбор: определение textBox и любых элементов
внутри программы чтобы обеспечить 1bas=1cs=1exe

а также важно изучить чтение \ запись на диск

и хорошо бы кто-нибудь проверил бы программы
чисто: включилась \ невключилась

10 минут потратил на переделку формы с 7-ю элементами

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

// POLE3.cs
// csc.exe /target:winexe POLE3.cs
// pause
using System; using System.IO;
using System.Drawing; using System.Diagnostics;
using System.Windows.Forms; namespace POLE3
{
	public class Program
{static void Main()
{Application.Run(new POLE3());}}
	class POLE3 : Form 
	{
ComboBox comboBox1;ComboBox comboBox2;ComboBox comboBox3; 
TextBox textBox1; TextBox textBox2; TextBox textBox3; Button button1; 

	public POLE3()
	{
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;
comboBox2 = new ComboBox(); 
	comboBox2.Location = new Point(105, 50); comboBox2.Width = 40;
	comboBox2.Items.AddRange(new string[] {"24","23","22","21","20","19"});
	comboBox2.SelectedIndex = 3;
comboBox3 = new ComboBox(); 
	comboBox3.Location = new Point(165, 50); comboBox3.Width = 40;
	comboBox3.Items.AddRange(new string[] {"3","2","1","4","5","6"});
	comboBox3.SelectedIndex = 5;

button1 = new Button();	button1.Click+=button1_Click;
	button1.Location = new System.Drawing.Point(115, 80);
	button1.Width = 80; button1.Text = "Переставить";

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(button1); Controls.Add(label1); 
	}

private void button1_Click(object sender, EventArgs e)
	{ 

textBox1=new TextBox(); textBox1.Text = comboBox3.Text; textBox1.Width = 40;
	textBox1.Location = new System.Drawing.Point(45, 120);
textBox2=new TextBox(); textBox2.Text = comboBox1.Text; textBox2.Width = 40;
	textBox2.Location = new System.Drawing.Point(105, 120);
textBox3=new TextBox(); textBox3.Text = comboBox2.Text; textBox3.Width = 40;
	textBox3.Location = new System.Drawing.Point(165, 120);
Controls.Add(textBox1);Controls.Add(textBox2);Controls.Add(textBox3);
}}}
Полностью код программы выложу когда закончу осталось еще пару расчетов добавить.
А твою программу запустить не удалось у меня версия 2019г
Выдает ошибки типа имя или пространство имен не существует.
2019-09-20_20-36-41.png
2019-09-20_20-36-41.png (76.21 КБ) 183 просмотра

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

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

Сообщение иван » Пт сен 20, 2019 6:39 pm

По аналогии с двойками сделал код на сумму троек
Пример
Ввод : 1 2 3 4 5
Сумма троек : 1+2+3=6. 1+2+4=7. 1+2+5=8. 1+3+4=8. 1+3+5=9. 1+4+5=10. 2+3+4=9. 2+3+5=10. 2+4+5=11. 3+4+5=12.
Вывод 6 7 8 8 9 10 9 10 11 12.
Но у меня выводит : 6 7 8 7 8 9 8 9 10 9 10 10 11 12
Лишний проход (или вывод чисел) вроде здесь : 6 7 8 7 8 9 8 9 10 9 10 10 11 12
Вот код программы :

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

//сумма троек
            textBox6.Text = "";
            for (int i = 0; i < strArray.Length - 2; i++)
            {
                for (int j = i + 1; j < strArray.Length - 1; j++)
                {
                    for (int t = i + 2; t < strArray.Length; t++)
                    {
                        textBox6.Text += (intArray[j] + intArray[i] + intArray[t]) + " ".ToString();
                    }                    
                }
            }

Код всей программы :

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

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 NewComb_version_001
{
    public partial class Form1 : Form
    {

        public Form1()
        {
            InitializeComponent();
        }

        private void Button1_Click(object sender, EventArgs e)
        {
            //разбиваем по пробелу, удаляя пустые элементы есть будут - например много пробелов
            string[] strArray = textBox9.Text.Trim().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);

            //для универсальности длину массива вычисляем
            int[] intArray = new int[strArray.Length];

            for (int i = 0; i < strArray.Length; i++)
            {
                intArray[i] = Convert.ToInt32(strArray[i]); //и преобразовываем
            }
            //Преобразование массива в строку
            textBox9.Text = string.Join(" ", intArray);

            //Сумма чисел
            int summa = 0;
            for (int i = 0; i < intArray.Length; i++)
            {
                summa = intArray.Sum();      /*или summa += intArray[i];*/
            }
            textBox1.Text = summa.ToString(); /*Вывод результата*/


            //Переменные для разности комбинации                      

            //Цикл перебора комбинации
            int[] differents = new int[intArray.Length - 1];
            for (int i = 1; i < intArray.Length; i++)
            {
                differents[i - 1] = intArray[i] - intArray[i - 1];
            }


            //Вывод результата разность чисел комбинации
            textBox2.Text = string.Join(" ", differents);

            //сумма рядом стоящих чисел в комбинации

            //Цикл перебора комбинаций

            int[] differentsTwo = new int[intArray.Length - 1];
            for (int i = 1; i < intArray.Length; i++)
            {
                differentsTwo[i - 1] = intArray[i] + intArray[i - 1];
            }
            textBox3.Text = string.Join(" ", differentsTwo);



            //сумма всех двоек в комбинации
            //разность всех двоек
            textBox4.Text = "";
            textBox5.Text = "";
            for (int i = 0; i < strArray.Length - 1; i++)
            {
                for (int j = i + 1; j < strArray.Length; j++)
                {                    
                    textBox4.Text += (intArray[j] + intArray[i]) + " ".ToString(); //сумма всех двоек в комбинации
                    textBox5.Text += (intArray[j] - intArray[i]) + " ".ToString(); //разность всех двоек                  
                }               
            }
            //сумма троек
            textBox6.Text = "";
            for (int i = 0; i < strArray.Length - 2; i++)
            {
                for (int j = i + 1; j < strArray.Length - 1; j++)
                {
                    for (int t = i + 2; t < strArray.Length; t++)
                    {
                        textBox6.Text += (intArray[j] + intArray[i] + intArray[t]) + " ".ToString();
                    }                    
                }
            }
        }

        private void Button2_Click(object sender, EventArgs e) /*открыть комбинацию*/
        {
            if (openFileDialog1.ShowDialog() == DialogResult.Cancel)
                return;

            // получаем выбранный файл
            string filename = openFileDialog1.FileName;

            // читаем файл в строку
            string fileText = System.IO.File.ReadAllText(filename);
            textBox9.Text = fileText;

            MessageBox.Show("Файл открыт");
        }
    }
}
Помогите найти ошибку в Debug проверял но понять не могу что исправить.
2019-09-20_21-20-53.png
2019-09-20_21-20-53.png (98.89 КБ) 181 просмотр
В начале функции добавил textBox6.Text = ""; теперь обнуляет как я и хотел.
StringBuilder почитал но пока не разбирался.

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

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

Сообщение иван » Пт сен 20, 2019 7:17 pm

Не много подумал и решил что если мы можем складывать тройки чисел то наверное и можем их вывести
добавил еще строчку
textBox10.Text += (intArray + " " + intArray[j] + " " + intArray[t]) + ";;; ".ToString();
и получил все тройки которые складывал получилось 14 троек вот вывод троек (уловно это полная системе 3 из 5 без повторений пока не корретно)
1 2 3;;; 1 2 4;;; 1 2 5;;; 1 3 3;;; 1 3 4;;; 1 3 5;;; 1 4 3;;; 1 4 4;;; 1 4 5;;; 2 3 4;;; 2 3 5;;; 2 4 4;;; 2 4 5;;; 3 4 5;;;
а вот илишние тройки
1 2 3;;; 1 2 4;;; 1 2 5;;; 1 3 3;;; 1 3 4;;; 1 3 5;;; 1 4 3;;; 1 4 4;;; 1 4 5;;; 2 3 4;;; 2 3 5;;; 2 4 4;;; 2 4 5;;; 3 4 5;;;

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

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

Сообщение Igor-san » Пт сен 20, 2019 8:11 pm

иван писал(а):
Пт сен 20, 2019 5:41 pm

А твою программу запустить не удалось у меня версия 2019г
Ну так Студия сама подсказывает, что добавить. Ссылки - Добавить ссылку - Сборки и там справа выделяешь
System.Drawing
System.Windows.Forms
и жмешь Ок.

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

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

Сообщение Igor-san » Пт сен 20, 2019 8:16 pm

иван писал(а):
Пт сен 20, 2019 6:39 pm
По аналогии с двойками сделал код на сумму троек
Пример
Ввод : 1 2 3 4 5
Сумма троек : 1+2+3=6. 1+2+4=7. 1+2+5=8. 1+3+4=8. 1+3+5=9. 1+4+5=10. 2+3+4=9. 2+3+5=10. 2+4+5=11. 3+4+5=12.
Ну если планируется и дальше суммы 2,3,4 ... вычислять, я бы пошел в сторону получения всех комбинаций по 2,3,4.. (см. KaosCombinatorics) и уже их суммировал. А в твоем коде попробуй

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

t =j + 1; (а не t = i + 2;) 

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

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

Сообщение иван » Пт сен 20, 2019 9:17 pm

Igor-san писал(а):
Пт сен 20, 2019 8:16 pm
иван писал(а):
Пт сен 20, 2019 6:39 pm
По аналогии с двойками сделал код на сумму троек
Пример
Ввод : 1 2 3 4 5
Сумма троек : 1+2+3=6. 1+2+4=7. 1+2+5=8. 1+3+4=8. 1+3+5=9. 1+4+5=10. 2+3+4=9. 2+3+5=10. 2+4+5=11. 3+4+5=12.
Ну если планируется и дальше суммы 2,3,4 ... вычислять, я бы пошел в сторону получения всех комбинаций по 2,3,4.. (см. KaosCombinatorics) и уже их суммировал. А в твоем коде попробуй

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

t =j + 1; (а не t = i + 2;) 
Igor-san Спасибо за помощь.
Вообще планирую и дальше суммы 2,3,4 ... вычислять и еще много разных способов опробовать я пока учусь мне любые расчеты будут интересны
KaosCombinatorics буду использовать чуть позже нужно с простыми вещами разобраться.

Я бы долго думал что не так в моем коде но понял что проблемы в третьем for
Но по логике если мы во втором for к int j = i + 1; то в третьем i нужно было поменять на j.
Если я напишу код для вычисления четверок то j поменяю на t.
Я еще не совсем разобрался с выводом результатов у меня в textBox10 выведены тройки в строчку а я бы хотел вывести в колонку
Пробовал добавить "n" (новая строка) не получаеться
textBox10.Text += (intArray + " " + intArray[j] + " " + intArray[t]) + ";;; " + "\n".ToString(); /*вывод троек*/
Еще попробовал Environment.NewLine.
textBox10.Text += Environment.NewLine.(intArray + " " + intArray[j] + " " + intArray[t]) + ";;; ".ToString(); /*вывод троек*/
Но после точки Environment.NewLine.(выдает ошибку требуеться индефикатор)
[attachment=0]2019-09-21_00-03-04.png[/attachment]
Вложения
2019-09-21_00-03-04.png
2019-09-21_00-03-04.png (100.97 КБ) 157 просмотров

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

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

Сообщение Igor-san » Пт сен 20, 2019 10:20 pm

иван писал(а):
Пт сен 20, 2019 9:17 pm

Я еще не совсем разобрался с выводом результатов у меня в textBox10 выведены тройки в строчку а я бы хотел вывести в колонку
Пробовал добавить "n" (новая строка) не получаеться

Комбинация с "\r\n" - новая строка Windows (просто \n в Линуксах https://ru.wikipedia.org/wiki/%D0%A3%D0 ... 0%BB%D1%8B). И изучи StringBuilder -там можно и по символьно и построчно и с форматом выводить - удобно.

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

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

Сообщение иван » Сб сен 21, 2019 6:20 pm

Окончил писать программу NewComb_version_001.
Полный код программы :

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

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 NewComb_version_001
{
    public partial class Form1 : Form
    {

        public Form1()
        {
            InitializeComponent();
        }

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

            //для универсальности длину массива вычисляем
            int[] intArray = new int[strArray.Length];

            for (int i = 0; i < strArray.Length; i++)
            {
                intArray[i] = Convert.ToInt32(strArray[i]); //и преобразовываем
            }
            //Преобразование массива в строку
            textBox1.Text = string.Join(" ", intArray);
            label8.Text = strArray.Length.ToString();

            //Сумма чисел
            int summa = 0;
            for (int i = 0; i < intArray.Length; i++)
            {
                summa = intArray.Sum();      /*или summa += intArray[i];*/
            }
            textBox9.Text = summa.ToString(); /*Вывод результата*/


            //Переменные для разности комбинации                      

            //Цикл перебора комбинации
            int[] differents = new int[intArray.Length - 1];
            for (int i = 1; i < intArray.Length; i++)
            {
                differents[i - 1] = intArray[i] - intArray[i - 1];
            }


            //Вывод результата разность чисел комбинации
            textBox2.Text = string.Join(" ", differents);

            //сумма рядом стоящих чисел в комбинации

            //Цикл перебора комбинаций

            int[] differentsTwo = new int[intArray.Length - 1];
            for (int i = 1; i < intArray.Length; i++)
            {
                differentsTwo[i - 1] = intArray[i] + intArray[i - 1];
            }
            textBox3.Text = string.Join(" ", differentsTwo);



            //сумма всех двоек в комбинации
            //разность всех двоек
            textBox4.Text = "";
            textBox5.Text = "";
            textBox10.Text = "";
            label19.Text = "";
            for (int i = 0; i < strArray.Length - 1; i++)
            {
                for (int j = i + 1; j < strArray.Length; j++)
                {                    
                    textBox4.Text += (intArray[j] + intArray[i]) + " ".ToString(); //сумма всех двоек в комбинации
                    textBox5.Text += (intArray[j] - intArray[i]) + " ".ToString(); //разность всех двоек 
                    textBox10.Text += (intArray[i] + " " + intArray[j]) + "\r\n".ToString(); /*вывод двоек*/
                    label19.Text = (((string[])textBox10.Lines).Length - 1).ToString(); /*количество комбинаций*/
                }               
            }
            //сумма троек
            textBox6.Text = "";
            textBox11.Text = "";
            label17.Text = "";
            for (int i = 0; i < strArray.Length - 2; i++)
            {
                for (int j = i + 1; j < strArray.Length - 1; j++)
                {
                    for (int t = j + 1; t < strArray.Length; t++)
                    {
                        textBox6.Text += (intArray[i] + intArray[j] + intArray[t]) + " ".ToString();
                        textBox11.Text += (intArray[i] + " " + intArray[j] + " " + intArray[t]) + "\r\n".ToString(); /*вывод троек*/
                        label17.Text = (((string[])textBox11.Lines).Length - 1).ToString(); /*количество комбинаций*/
                    }                    
                }
            }
            //сумма четверок
            textBox7.Text = "";
            textBox12.Text = "";
            label18.Text = "";
            for (int i = 0; i < strArray.Length - 3; i++)
            {
                for (int j = i + 1; j < strArray.Length - 2; j++)
                {
                    for (int t = j + 1; t < strArray.Length - 1; t++)
                    {
                        for (int f = t + 1; f < strArray.Length; f++)
                        {
                            textBox7.Text += (intArray[i] + intArray[j] + intArray[t] + intArray[f]) + " ".ToString();
                            textBox12.Text += (intArray[i] + " " + intArray[j] + " " + intArray[t] + " " + intArray[f]) + "\r\n".ToString(); /*вывод четверок*/                            
                            label18.Text = (((string[])textBox12.Lines).Length - 1).ToString(); /*количество комбинаций*/
                            
                        }                                               
                    }
                }
            }

        }

        private void Button2_Click(object sender, EventArgs e) /*открыть комбинацию*/
        {
            if (openFileDialog1.ShowDialog() == DialogResult.Cancel)
                return;

            // получаем выбранный файл
            string filename = openFileDialog1.FileName;

            // читаем файл в строку
            string fileText = System.IO.File.ReadAllText(filename);
            textBox9.Text = fileText;

            MessageBox.Show("Файл открыт");
        }
    }
}
NewComb_version_001.png
NewComb_version_001.png (61.63 КБ) 116 просмотров

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

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

Сообщение Igor-san » Сб сен 21, 2019 11:22 pm

иван писал(а):
Сб сен 21, 2019 6:20 pm
Окончил писать программу NewComb_version_001.
Это лишнее,

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

            //Сумма чисел
            int summa = 0;
            for (int i = 0; i < intArray.Length; i++)
            {
                summa = intArray.Sum();      /*или summa += intArray[i];*/
            }
            textBox9.Text = summa.ToString(); /*Вывод результата*/
Сокращаем до

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

            //Сумма чисел
            int summa = intArray.Sum();  ;
            textBox9.Text = summa.ToString(); /*Вывод результата*/
Первый вариант был когда поэлементно суммировали summa += intArray[ i ].

Salah
Гуру
Гуру
Сообщения: 483
Зарегистрирован: Ср авг 23, 2017 4:55 pm
Благодарил (а): 84 раза
Поблагодарили: 81 раз

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

Сообщение Salah » Вс сен 22, 2019 12:43 am

Подлечил свою винду...
Качнул Питона...
На днях начну задавать тупые вопросы и показывать свои первые блины, которые, скорее всего, комом))

А Иван молодец!
*полагаю, что ник-нейм совпадает с именем (?)

Salah
Гуру
Гуру
Сообщения: 483
Зарегистрирован: Ср авг 23, 2017 4:55 pm
Благодарил (а): 84 раза
Поблагодарили: 81 раз

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

Сообщение Salah » Вс сен 22, 2019 2:51 pm

Ну, и понеслось...

Какой редактор для Питона выбрать?

В книжке автор пишет "...Если вы не знаете, с чего начать, я бы порекомендовал воспользоваться программой Komodo Edit"
Ну да, это про меня. Я не знаю, с чего начать. Я чайник в этом деле.

И далее от автора
"...Опытные программисты ... используют Vim или Emacs... это два наиболее мощных редактора, и вы только выиграете от их использования для ... Python
Лично я пользуюсь ими обоими ... и ... написал книгу о Vim.
Я настоятельно рекомендую вам решиться и потратить время на изучение Vim или Emacs, поскольку это будет приносить вам пользу долгие годы.
Однако ... новички могут пока просто остановиться на Komodo Edit и сосредоточиться на изучении Python, а не текстового редактора"

Всё же начать с Komodo Edit?

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

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

Сообщение Igor-san » Вс сен 22, 2019 5:21 pm

Salah писал(а):
Вс сен 22, 2019 2:51 pm
Ну, и понеслось...

Какой редактор для Питона выбрать?
Notepad ++ (серьезно)
VisualStudio - удобно отлаживать.
Для обучения ввобще достаточно встроенного IDLE (разве в учебнике не написано?)

Ответить

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

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

Сейчас этот форум просматривают: Yandex [BOT] и 1 гость