Вниз
Скачать: CL | DM;

Сотрировка страниц для печати   Найти похожие ветки 

← →
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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.039 c
2-1171439156
Lex_!
2007-02-14 10:45
2007.03.04
Выполнение кода реалтайм....


1-1168526234
Apachi
2007-01-11 17:37
2007.03.04
Как программно узнать зарегистрирован ли COM объект по имени


2-1171093255
blackdak
2007-02-10 10:40
2007.03.04
запуск приложения


2-1171390869
sat
2007-02-13 21:21
2007.03.04
часы...


4-1161311947
Antoxa2005
2006-10-20 06:39
2007.03.04
Подскажите, как отловить подключение по локальной сети и если...




   Наверх