Все возможные строки с символами - C#
Формулировка задачи:
Здравствуйте!
Нужно написать алгоритм который будет формировать с определенных символов все возможные строки.
Например у нас есть 2 символа a,b и установлена длина строки в 2
Получаем вот такие строки после работы алгоритма
aa
ab
ba
bb
Суть в том что длина строки может быть любая и количество символов тоже, а нужно что выдало все возможные строки с заданной длиной и заданным количеством символов
Решение задачи: «Все возможные строки с символами»
textual
Листинг программы
- //---------------------------------------------------------------------------
- #include <vcl>
- #include <iostream>
- #include <conio>
- //Digits
- #define Digits 5
- #pragma hdrstop
- //---------------------------------------------------------------------------
- #pragma argsused
- using namespace std;
- int main(int argc, char* argv[])
- {
- int Start = 97/*a*/, End = 100/*d*/, Stroka[Digits], z, n;
- bool AllMaximums = false;
- for(z = Digits-1; z >=0; z--)
- Stroka[z] = Start;
- /*For C#
- for(z = 0; z < Digits; z++)
- Console.Write((char)(Stroka[z]));
- Console.Write("\n");
- */
- for(z = 0; z < Digits; z++)
- cout << (char)Stroka[z] << ' ';
- cout << '\n';
- do{
- for(z = Digits-1; z >=0; z--)
- if(Stroka[z] == End)
- continue;
- else
- {
- Stroka[z]++;
- for(n = z+1; n < Digits; n++)
- Stroka[n] = Start;
- break;
- }
- for(z = 0; z < Digits; z++)
- cout << (char)Stroka[z] << ' ';
- cout << '\n';
- AllMaximums = true;
- for(z = 0; z < Digits; z++)
- if(Stroka[z] != End)
- {
- AllMaximums = false;
- break;
- }
- }while(!AllMaximums);
- getch();
- return 0;
- }
- //---------------------------------------------------------------------------
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д