Регистрация |
Правила форума | Справка |
Сообщество |
Календарь |
Сообщения сегодня |
Сообщения за неделю |
≥ Поиск ≤ |
|
Программисты и компьютеры в ПМР - Небольшой клуб для программистов и всех, кому интересны компьютеры и всё, что с ними связано. |
|
Опции темы | Поиск в этой теме | Опции просмотра |
13.04.2013, 20:53 |
|
Форумчане ПМР
Детали профиля (+/-)
|
Всем привет. Помогите проверить алгоритм. Алгоритм переберает все комбинации цифр и букв, сторки в 50 символов. Уж нему.
вот алгоритм. C# namespace WindowsFormsApplication8 ** public partial class Form1 : Form ** public string str = ""; public int DlinaStrok = 0; public Form1() ** InitializeComponent(); ** public void gette(int a, object sender) ** string c=""; for (int b = 0; b > 50; b++) ** if (DlinaStrok <= 50) ** c = char.ToString((char)a); str = str + c; listBox1.Items.Add(str); DlinaStrok = DlinaStrok + 1; ** else ** DlinaStrok = 0; str = ""; ** ** ** private void button1_Click(object sender, EventArgs e) ** for (int a = 48; (a >= 48) || (a <= 57) || (a >= 65) || (a <= 90) || (a >= 97) || (a <= 122); a++) ** gette(a,sender); ** for (int b = 1040; (b >= 1040) || (b <= 1105); b++) ** gette(b,sender); ** ** ** ** |
15.04.2013, 20:28 |
Re: алгоритм перебора знаков
#2
|
Администратор
|
Поступила информация о создателя темы, что тот, кто откомпилирует рабочий код на си шщарпе для данного алгоритма - получит бутылку коньяка!
________________
Судьба - совокупность совершенных глупостей человека. Любите и принимайте людей такими, какие они есть. Если Вас оскорбили - нажимаем "Пожаловаться на это сообщение" слева от поста под аватаром хама. |
15.04.2013, 20:33 |
Re: алгоритм перебора знаков
#3
|
The South Will Rise Again
Детали профиля (+/-)
Ответов: 8,801
Регистрация: 11.05.2012
Адрес: VOTT.RU
Спасибо:941/266
Не понравилось:21/12
Репутация: 5652
|
[кастует в тред Стю] Кажись, я знаю, кому она достаться может...
________________
"Сердце ревёт грозно, как турбина самолёта!" © |
16.04.2013, 10:00 |
Re: алгоритм перебора знаков
#4
|
Администратор
|
Вот рабочий код на C#, неси коньяк.
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication2 ** public partial class Form1 : Form ** public Form1() ** InitializeComponent(); ** public string str = ""; public int DlinaStrok = 0; public void gette(int a, object sender) ** string c = ""; for (int b = 0; b < 50; b++) ** if (DlinaStrok <= 50) ** c = char.ToString((char)a); str = str + c; listBox1.Items.Add(str); DlinaStrok = DlinaStrok + 1; ** else ** DlinaStrok = 0; str = ""; ** ** ** private void button1_Click(object sender, EventArgs e) ** for (int a = 48; a <= 122; a++) ** if (a >= 48 && a <= 57) ** gette(a, sender); ** if (a >= 65 && a <= 90) ** gette(a, sender); ** if (a >= 97 && a <= 122) ** gette(a, sender); ** ** for (int b = 1040; b <= 1105; b++) ** gette(b, sender); ** ** ** ** |
17.04.2013, 10:26 |
Re: алгоритм перебора знаков
#6
|
Администратор
|
avrudoi, ты проверил код на работоспособность?
** надо заменить на левую скобку, это что то форум заменяет её. Ну и сам алгоритм твой изначальный неверный, его нужно дорабатывать. Сначала в массив вносишь все варианты "a" - от "0" до "Я" к примеру. Выбираешь все элементы массива максимальной длины. Потом уже к этому массиву добавляешь все варианты "a" - от "0" до "Я". И так цикл. Это уже сам доделывай. |
17.04.2013, 14:54 |
Re: алгоритм перебора знаков
#7
|
|
Форумчане ПМР
Детали профиля (+/-)
|
как Должен работать алгоритм. Допустим нужно перебрать все варианты строки abc, это будет так выгледит, a, b, c, ab, ac, bc, ab, abc, acb, bac cab и т.д. при этом нуэно исключить повторные ваиранты, это наверника должен быть массив запоминающий все строки. |
|
17.04.2013, 18:19 |
Re: алгоритм перебора знаков
#8
|
|
Форумчане ПМР
Детали профиля (+/-)
|
|
|
18.04.2013, 23:34 |
Re: алгоритм перебора знаков
#10
|
Администратор
|
avrudoi, будет свободное время, займусь алгоритмом твоим.
|
26.04.2013, 10:10 |
Re: алгоритм перебора знаков
#12
|
Администратор
|
Вот все таки я разобрался с твоим алгоритмом.
4-ядерный i5 3.3 ГГерц выполняет генерацию строк длиной 3 (в коде найди dlina <= 3) символа минут 10. Вот сам код программы: Код:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace boris_app ** public partial class Form1 : Form ** public int i = 0; public string[] mas = new string[1]; public int dlina; public Form1() ** InitializeComponent(); ** public string Rec() ** int max = mas.Length; for (int a = 0; a < max; a++) ** for (int b = 0; b < 62; b++) ** string dl = mas[a] + mas[b]; if (dl.Length == dlina) ** mas[i] = mas[a] + mas[b]; listBox1.Items.Add(mas[i]); Array.Resize(ref mas, mas.Length + 1); i = i + 1; ** ** ** return "1"; ** private void button1_Click(object sender, EventArgs e) ** for (int a = 48; a <= 122; a++) ** if ((a >= 48 && a <= 57) || (a >= 65 && a <= 90) || (a >= 97 && a <= 122)) ** mas[i] = char.ToString((char)a); listBox1.Items.Add(mas[i]); Array.Resize(ref mas, mas.Length + 1); i = i + 1; ** ** for (dlina = 2; dlina <= 3; dlina++) ** string f = Rec(); ** ** ** ** |
|
Похожие темы | ||||
Тема | Автор | Разделы | Ответы | Последний ответ |
Автомобили приднестровских ведомств лишатся государственных номерных знаков | vintus | Политика Приднестровья | 25 | 21.02.2012 18:20 |
Регистрация патентов, торговых знаков и защита авторских прав ! | Alexlex | Бесплатные рекламные объявления | 0 | 13.04.2009 15:08 |
|
|