Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.04.2015, 14:40   #1
komra2
Новичок
Джуниор
 
Регистрация: 10.04.2015
Сообщений: 733
Восклицание перебор по циклу

Вот идет допустим цикл от 1 до 12 (1,2,3,4,5,6,7,8,9,10,11,12) и идут в переборе буквы aaa,aab,aac итд. Как сделать чтобы было так:
1 aaa
2 aab
3 aac
4 aad
5 aae
6 aaf
7 aag
8 aaf
9 aah
10 aai
11 aah
12 aaj
итд.
То есть 1-12 (aaa);1-12(aab);1-12(aac)итд. Перебор цифр чтобы шел до конца.
Цифры в tb1 буквы в tb2
komra2 вне форума Ответить с цитированием
Старый 30.04.2015, 14:59   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
1-12 (aaa);1-12(aab);1-12(aac)
Не понял что вы этим сказать хотели.

Если нужны все комбинации определенной длины из букв алфавита, то например так:
http://stackoverflow.com/questions/1...r-combinations
Код:
var alphabet = "abcdefghijklmnopqrstuvwxyz";
int size = 3;

var q = alphabet.Select(x => x.ToString());
for (int i = 0; i < size - 1; i++)
    q = q.SelectMany(x => alphabet, (x, y) => x + y);

foreach (var item in q)
    Console.WriteLine(item);
Если длина всегда 3 и только a-z, то можно просто 3 вложенных цикла for от a до z.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 30.04.2015, 15:27   #3
komra2
Новичок
Джуниор
 
Регистрация: 10.04.2015
Сообщений: 733
По умолчанию

то есть я нажал на кнопку и пошли в цикле числа от 1 до 12 а буквы стоят aaa потом когда цикл закончился дошел до 12 - опять начался 1,2,3 итд. но уже aab то есть после завершение очередного цикла перебор идет дальше по алфавиту
не консольное приложение а windows form application

пока у меня получилось только то что цифры и буквы (1-12 и aaa) идут одновременно!
вот так должно быть:
1 aaa
2 aaa
3 aaa
4 aaa
5 aaa
6 aaa
7 aaa
8 aaa
9 aaa
10 aaa
11 aaa
12 aaa
1 aab
2 aab
3 aab
... итд.

Последний раз редактировалось Stilet; 30.04.2015 в 15:46.
komra2 вне форума Ответить с цитированием
Старый 30.04.2015, 15:36   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
то есть я нажал на кнопку и пошли в цикле числа от 1 до 12 а буквы стоят aaa потом когда цикл закончился дошел до 12 - опять начался 1,2,3 итд. но уже aab то есть после завершение очередного цикла перебор идет дальше по алфавиту
Чего-то странное вы хотите с этими 1-12, я не понял ничего. Если у вас 12 букв в алфавите, то и уберите лишние буквы из списка.

Цитата:
не консольное приложение а windows form application
Вы не можете переделать этот код на винформс вместо консоли? Тогда вам надо продолжить изучение основ программирования/C#/winforms.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 30.04.2015, 15:38   #5
komra2
Новичок
Джуниор
 
Регистрация: 10.04.2015
Сообщений: 733
По умолчанию

тут часть кода:
Код:
int i=0;
foreach(var item in Generate(i))
{ textBox2.Text=item;
  textBox2.Text=Convert.ToString(i=(i%12)+1);
еще раз говорю мне надо сделать чтобы было вот так(ниже):
1 aaa
2 aaa
3 aaa
4 aaa
5 aaa
6 aaa
7 aaa
8 aaa
9 aaa
10 aaa
11 aaa
12 aaa
1 aab
2 aab
3 aab
4 aab
5 aab
6 aab
7 aab
8 aab
9 aab
10 aab
11 aab
12 aab
Что тут не понятного?
Цифры а tb1 идут цикл 1-12, буквы идут tb2 при полном прохождении цикла(1-12) идет буква слейдуйщая по алфавиту.

Последний раз редактировалось Stilet; 01.05.2015 в 20:47.
komra2 вне форума Ответить с цитированием
Старый 30.04.2015, 17:30   #6
lomastr_
Форумчанин
 
Регистрация: 16.01.2015
Сообщений: 672
По умолчанию

2 цикла делайте
lomastr_ вне форума Ответить с цитированием
Старый 30.04.2015, 17:54   #7
komra2
Новичок
Джуниор
 
Регистрация: 10.04.2015
Сообщений: 733
По умолчанию

можешь, пожалуйста, мне код натыкать?
у меня все готова просто у меня оба цикла идут одновременно а мне надо чтобы было бы как в примере! 1-12 aaa, 1-12 aab......
komra2 вне форума Ответить с цитированием
Старый 30.04.2015, 18:01   #8
lomastr_
Форумчанин
 
Регистрация: 16.01.2015
Сообщений: 672
По умолчанию

как одновременно?
первый по буквам, второй (вложенные) по цифрам
lomastr_ вне форума Ответить с цитированием
Старый 30.04.2015, 19:53   #9
komra2
Новичок
Джуниор
 
Регистрация: 10.04.2015
Сообщений: 733
По умолчанию

вот так:
1 aaa
2 aab
3 aac
4 aad
5 aae


и это называется одновременно

так написал же, 2 с одним вложенным
for(тут по a..z)
{
for(тут по 1..12)
{

}
}

Последний раз редактировалось Alex11223; 08.05.2016 в 21:58.
komra2 вне форума Ответить с цитированием
Старый 30.04.2015, 20:02   #10
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Только циклов с a..z 3 штуки будет. Ну или так, как в моем коде. Просто добавить цикл с цифрами в тот foreach.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа перебора вариантов (изменить перебор цифровой на перебор буквенный) BArt2000 Паскаль, Turbo Pascal, PascalABC.NET 5 02.03.2015 12:56
Не идёт по циклу rentxxx89 Общие вопросы C/C++ 26 23.01.2012 22:43
Оператори циклу while, do-while ?? axi.niko Общие вопросы C/C++ 2 12.12.2010 12:17
Вопрос по циклу Айдар Работа с сетью в Delphi 1 31.08.2010 13:40
Вопросик по циклу Almost_Famous Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 15.05.2008 21:45