Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.03.04;
Скачать: 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 вся ветка

Текущий архив: 2007.03.04;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.041 c
15-1170959065
palva
2007-02-08 21:24
2007.03.04
Два человека - уже организация


2-1171476102
abba
2007-02-14 21:01
2007.03.04
Как в StringGrid в ячейку вводить только один символ?


3-1165383330
Ega23 (from home)
2006-12-06 08:35
2007.03.04
DTS или что-то другое?


2-1171439707
andrey-406
2007-02-14 10:55
2007.03.04
Как построить запрос


6-1159087671
PHPDeveloper
2006-09-24 12:47
2007.03.04
WebBrower