const
ACount = 3;
Digits = 2;
A: Array[0..ACount - 1] of Char = ('0','1','2');
function GetMax(ACount: Integer; Digits: Integer): Integer;
var
I: Integer;
begin
Result := 1;
I := 0;
while I < Digits do begin
Result := Result * ACount;
Inc(I);
end;
end;
procedure AllComb;
var
A1: Array[0..Digits-1] of Char;
I, Imax, Itmp, J: Integer;
begin
I := 0;
Imax := GetMax(ACount, Digits);
while I < Imax do begin
Itmp := I;
J := 0;
while J < Digits do begin
A1[J] := A[Itmp mod ACount];
Itmp := Itmp div ACount;
Inc(J);
end;
//сохраняем A1 в файл
Inc(I);
end;
end;
Нужна прога для записи всех комбинаций с буквами и цыфрами в текстовый файл
Помогите с програмкой для записи всех возможных комбинацый с буквами и цыфрами в текстофий файл (от 3 до 20).
язык какой?... и чё значит "от 3 до 20"
Скорее всего, от 3 до 20 элементов для перестановки.:)
Мне без разницы главное чтобы уже было записано в текстовий формат комбинацыи с буквами и цыфрами длинной от 3 до 20.
Цитата:
от 3 до 20 элементов
это не все комбинации....
а буквы какие?
1. путём констант описываем:
- размер массива значений.... ACount
- массив значений... A[0..ACount-1]
2. пишем функцию для определения количества перестановок
GetCount(ACount, Digits) - результат которой - ACount в степени Digits
3. пишем основную процедуру....
описываем массив вывода... A1[0..Digits-1]
некую переменную (I) зацикливаем (от 0 до GetCount(ACount, Digits)-1)
нам понадобится ещё одна переменная целочисленного типа ( Itmp)
Itmp = I
создаём ещё один цикл (J) (от 0 до Digits-1)
составляем A1...
A1[J] = A[остаток от деления (Itmp/ACount)]
целочисленно делим Itmp/ACount
конец цикла (J)
массив A1 готов
конец цикла (I)
ACount - количество элементов в массиве....