![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
-Yupi- |
![]()
Сообщение
#1
|
|||
Гость ![]() |
Есть два процесса - один производит простые числа и заносит в буфер, другой выводит их на экран. Вроде бы все правильно, посмотрите пожалуйста почему все зависает.. буду очень благодарна.
q:=3, w:=1;
procedure in_buf;
var j : word;
begin
if free>0 then
begin
For j:=2 to q-1 do
If (q mod j) = 0 then
begin
inc (q);
end;
inc (w);
for j:=w downto 2 do Buffer_Sqrt[j]:=Buffer_Sqrt[j-1];
Buffer_Sqrt[1]:=w;
inc(w);
end;
end;
procedure out_buf;
begin
if ((Free<max) and (free<>max)) then
Begin
if buf_x>60 then begin buf_x:=45;inc(buf_y); end;
if buf_y=21 then buf_y:=15;
i:=max-Free;
GotoXY(buf_x,buf_y);
Write(Buffer_Sqrt[i]:4);
Free:=Free+1;
buf_x:=buf_x+4;
Delay(10);
End;
end;
Может проблема более глобальная? Если так то покажу всю прогу.. Всем заранее спасибо.
Сообщение отредактировано: Michael_Rybak - 26.06.2007 23:39 |
|||
![]() ![]() |
![]() |
Текстовая версия | 8.08.2025 9:37 |