Все возможные строки с символами - 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;
}
//---------------------------------------------------------------------------