Форум: "Основная";
Текущий архив: 2007.03.04;
Скачать: [xml.tar.bz2];
ВнизСотрировка страниц для печати Найти похожие ветки
← →
tol (2007-01-10 17:11) [0]Помогите найти действующий алгоритм, сидел несколько часов, уже голову сломал, но не нашел универсальный метод. Задача такая: Есть несколько файлов на печать. Нужно разделить их на секции следующим образом: в простейшем случае, две секции:
1->A1
2->B1
3->B2
4->A2
Тоже 2 секции, но для 12 файлов:
1->A1
2->A2
3->A3
4->B1
5->B2
6->B3
7->B4
8->B5
9->B6
10-A4
11->A5
12->A6
Если, например, 16 файлов и 4 секции:
1->A1
2->A2
3->B1
4->B2
5->C1
6->C2
7->D1
8->D2
9->D3
10->D4
11->C3
12->C4
13->B3
14->B4
15->A3
16->A4
На вход функции может подаваться порядковый номер файла, общее количество файлов и количество нужных секций, на выходе – строка вида "буква+цифра". Если не сложно, подскажите как реализовать это на Дельфи, пожалуйста.
← →
MBo © (2007-01-10 18:13) [1]
procedure TForm1.Button4Click(Sender: TObject);
var
NS, NF, i, j, MN: Integer;
ch: Char;
begin
NS := 4;
NF := 16;
MN := NF div NS;
for i := 0 to NS -1 do begin
ch := Chr(Ord("A") + i);
for j := 1 to MN div 2 do
Memo1.Lines.Add(ch + IntToStr(j));
end;
for i := NS -1 downto 0 do begin
ch := Chr(Ord("A") + i);
for j := MN div 2 + 1 to MN do
Memo1.Lines.Add(ch + IntToStr(j));
end;
end;
← →
tol (2007-01-10 20:37) [2]Спасибо! Прекрасное решение - простое и универсальное!
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2007.03.04;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.051 c