IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Система(или теорема..) Джонсона
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 25
Пол: Мужской
Реальное имя: Иван

Репутация: -  0  +


Серия из N различных деталей обрабатывается на 2-х станках за Ai и Bi времени. Оптимальный порядок обработки достигается правилом:i-ое изделие предшествует j-му, если min(Ai, Bj)<min(Aj,Bi).Осуществить итакое упорядочивание.

Проверьте пж-та, правильно ли работает?=) Я с этой системой никогда не сталкивался, поэтому...
Но вроде всё правильно выполняет...

Program Johnson_method;
Uses Crt;
Const r=30;
Var n,i,Min_j,Min_i,Temp_1,Temp_2:Integer;
ch:Char;
isChange:Boolean;
A:Array [0..100,0..100] of Integer;
Begin
Repeat
ClrScr;
Randomize;
WriteLn('');
WriteLn;
WriteLn('Write a number of details');
ReadLn(n);
WriteLn;

WriteLn('Time:');
Write('A: ');
For i:=1 to n do begin
A[i,1]:=random®;
Write(A[i,1]:3);
end;
WriteLn;

Write('B: ');
For i:=1 to n do begin
A[i,2]:=random®;
Write(A[i,2]:3);
end;
WriteLn;
{начинается прелбразование}
Repeat
isChange:=False;
For i:=1 to n-1 do begin
Min_i:=A[i,1];
Min_j:=A[i+1,1];
{ WriteLn('Min_i=',Min_i,' Min_j=',Min_j); }
If A[i,1]>A[i+1,2] then Min_i:=A[i+1,2];
If A[i+1,1]>A[i,2] then Min_j:=A[i,2];
{ WriteLn('Min_i=',Min_i,' Min_j=',Min_j); }
If Min_i>Min_j then
begin
Temp_1:=A[i,1];
A[i,1]:=A[i+1,1];
A[i+1,1]:=Temp_1;
Temp_2:=A[i,2];
A[i,2]:=A[i+1,2];
A[i+1,2]:=Temp_2;
isChange:=True;
end;
end;
Until isChange=False;

WriteLn('Yahoo:');{Ответ}
Write('A: ');
For i:=1 to n do Write(A[i,1]:3);
WriteLn;

Write('B: ');
For i:=1 to n do Write(A[i,2]:3);
WriteLn;

WriteLn('If you want to quit press <ESC>, else any key.');
ch:=ReadKey;
Until ord(ch)=27;
END.



Сообщение отредактировано: DFooz -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


Есть контрольные тестовые значения? Прогоните. А иначе как Вы собираетесь проверять правильность алгоритма?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 25
Пол: Мужской
Реальное имя: Иван

Репутация: -  0  +


нету, поэтому и хотел спросить=) В принципе, уже не нужно, задачу у меня приняли=)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Бывалый
***

Группа: Пользователи
Сообщений: 159
Пол: Мужской
Реальное имя: Anton

Репутация: -  0  +


Цитата(DFooz @ 8.03.2006 12:27) *

нету, поэтому и хотел спросить=) В принципе, уже не нужно, задачу у меня приняли=)

Держи:

Ввод

2
3 4
10 2
6
7 10
9 8
3 1
2 4
11 6
5 12


Вывод

151 2
44
4 6 1 2 5 3


--------------------
made in USSR.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






James_Bond, ссылку на источник теста - в студию... Самопальные тесты здесь не пойдут...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Бывалый
***

Группа: Пользователи
Сообщений: 159
Пол: Мужской
Реальное имя: Anton

Репутация: -  0  +


Цитата(volvo @ 8.03.2006 12:53) *

James_Bond, ссылку на источник теста - в студию... Самопальные тесты здесь не пойдут...

не пойдет-извини. mad.gif


--------------------
made in USSR.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Новичок
*

Группа: Пользователи
Сообщений: 25
Пол: Мужской
Реальное имя: Иван

Репутация: -  0  +


спасибо
Цитата(James_Bond @ 8.03.2006 12:49) *

Вывод

151 2
44
4 6 1 2 5 3

но эти 3 строчки непонятны=)
и обязательно определённые значения в итоге должны пол-ся или может варьироваться?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Бывалый
***

Группа: Пользователи
Сообщений: 159
Пол: Мужской
Реальное имя: Anton

Репутация: -  0  +


Цитата(DFooz @ 10.03.2006 17:52) *

спасибо

но эти 3 строчки непонятны=)
и обязательно определённые значения в итоге должны пол-ся или может варьироваться?


это уж тебе решать.
ну время и порядок.


--------------------
made in USSR.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 23.12.2024 21:05
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name