1 / 1 / 0
Регистрация: 21.11.2014
Сообщений: 19

Почему программа зависает?

06.12.2014, 20:07. Показов 901. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго всем времени суток!
У меня образовалась проблема следующего характера. Я написала код, запустила программу, она никак не заканчивает работу. Я подумала, что где-то что-то зациклилось, поэтому запустила пошагово, на каком-то шаге выполнения программа просто зависла. Подскажите, пожалуйста, в чем может быть причина.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
var m,n,s,i,j,k,len,cnt,dx,dy:integer;
dirx,diry:array[0..4] of byte;
a:array[0..10000,0..10000] of char;
used:array [0..100,0..100] of integer;
dir:array [0..10000] of integer;
begin
assign(input,'input.txt');
assign(output,'output.txt');
reset (input);
rewrite (output);
  readln (input,m,n,s);
  for i:=1 to m do begin
    for j:=1 to n do
      read (input,a[i,j]);
    readln(input);  
   end;
   
   dirx[0]:=1;diry[1]:=0;
   dirx[1]:=0;diry[2]:=1;
   dirx[2]:=-1;diry[3]:=0;
   dirx[3]:=0;diry[4]:=-1;
   dx:=1;dy:=1;
   k:=0;cnt:=1;
  
  while cnt<s do begin
    if (a[dx+dirx[cnt],dy+diry[cnt]]='.') {and (dx+dirx[cnt]<n) and (dy,diry[cnt])} then 
    begin
      dx:=dx+dirx[k];
      dy:=dy+diry[k];
    end
    else begin
    while a[dy+dir[k],dx+dirx[k]]<>'.' do begin
      k:=k+1;
      k:=k mod 4;
      end;
     dx:=dx+dirx[k];
     dy:=dy+diry[k];
     end;
     dir[cnt]:=k;
     if used[dy,dx]=0 then used[dy,dx]:=cnt else
     if dir[used[dy,dx]]=dir[cnt] then begin
      len:=cnt-used[dy,dx];
      cnt:=cnt+((s-cnt) div len)*len;
      end
      else cnt:=cnt+1;
     end;
     writeln (output,dx,dy);
close (input);
close (output);
end.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.12.2014, 20:07
Ответы с готовыми решениями:

Почему зависает программа?
Почему зависает программа, код которой: uses GraphABC; const background =...

Почему зависает Паскаль?
Паскаль зависает как только я запускаю любую программу. Вот последняя программа которая не...

Подскажите, почему не запускается и почему не выводит решение по частям?
uses crt; label k; var x,y,c,b,a:real; k1,R1,R2,R3:integer; begin k: clrscr; writeln (' ...

2
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
06.12.2014, 20:11
Pascal
1
a:array[0..10000,0..10000] of char;
А нафига Вам матрица на более 100 миллионов значений? Бога не боитесь....
0
1 / 1 / 0
Регистрация: 21.11.2014
Сообщений: 19
06.12.2014, 20:13  [ТС]
Бывает, что еще могу сказать. Спасибо большое. Теперь работает.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.12.2014, 20:13
Помогаю со студенческими работами здесь

зависает программа
procedure asd(var f1, f2: TFStudent); var st, x, y, sp : TStudent; k, g, i, j, fg: integer;...

Зависает FPC при наборе кода программы
Здравствуйте! Зависает FPC при наборе кода программы. Что может быть причиной? раньше все работало...

Программа зависает при создании массива динамического и вывода на экран
Такая проблема, при создании массива динамического и вывода на экран , если вывести на экран...

После ввода первого обучающегося программа зависает
Готовлюсь к ЕГЭ по информатике и делаю С4 (С досрочного ЕГЭ). Вот такое задание: Муниципальный...

На android зависает программа, при компиляции на windows работает стабильно
procedure TForm4.Tqueue; var i ,j,g:integer; queueArray:array of array of string; buffer:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

Новые блоги и статьи
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru