![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Shook Its On |
![]()
Сообщение
#1
|
Гость ![]() |
Помогите плиз решить задачку с использованием динамических списков:
Файл содержит информацию о местах на плоскости некоторого количества жуков. Продемонстрировать (К примеру в матрице - считая в ней 1-жук, 0 - нету жука) поведение колонии жуков на K шагах(каждый шаг матрица меняется). В течение одного шага каждый жук преследует следующего за ним жука. Последний жук преследует первого жука. Если в конце шага жук приблизился к преследуемому жуку ближе, чем на E(задаваемое пользователем число), он поедает преследуемого жука. Очень надеюсь на вашу помощь и заранее благодарен))) |
Michael_Rybak |
![]()
Сообщение
#2
|
Michael_Rybak ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 046 Пол: Мужской Реальное имя: Michael_Rybak Репутация: ![]() ![]() ![]() |
Прикольно
![]() В чем именно проблема? |
Shook Its On |
![]()
Сообщение
#3
|
Гость ![]() |
Да вот просто не знаю как писать - не разобрался ещё толком в динамических списках(( (программирую не так давно - учусь токо)
Сообщение отредактировано: Shook Its On - |
Lapp |
![]()
Сообщение
#4
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
не разобрался ещё толком в динамических списках(( Про списки почитай вот тут: Все о динамических структурах данных. А хоть что-то есть? Если начал писать - покажи, поможем. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Lapp |
![]()
Сообщение
#5
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
Интересно - а уже была аналогичная тема! Только что случайно наткнулся, вот:
Жучки Только не знаю, поможет ли она тебе.. ![]() -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Shook Its On |
![]()
Сообщение
#6
|
Гость ![]() |
Спасибо за ссылки)) Посмотрю и всётаки попытаюсь написать прогу - вдруг всётаки додумаю как))
Сообщение отредактировано: Shook Its On - |
Shook Its On |
![]()
Сообщение
#7
|
Гость ![]() |
Вот написал - почти всё работает - жучки бегают но некоторые время от времени размножаются)))) появляется 2 одинаковых)) немогу найти ошибку - Помогите плиз
Заранее благодарен Код program Zuki; type Dzuk=^Zuk; Zuk=record num: integer; x,y: integer; pnext: Dzuk end; tmas=array [1..12] of array [1..12] of integer; var pBeg,pnex,ppr,p1,p2,pd:Dzuk; input,output:text; n,m,i,j,k,l:integer; e:real; mas:tmas; procedure obnul(var as:tmas); var c,d:integer; begin for c:=1 to 12 do begin for d:=1 to 12 do as[c,d]:=0; end; end; procedure vivod(var as:tmas); var c,d:integer; begin for c:=1 to 12 do begin for d:=1 to 12 do if as[c,d]=0 then write(output,'_ ') else write(output,as[c,d],' '); writeln(output); end; end; procedure shag(var d1,d2:Dzuk); var a1,b1,a2,b2:integer; h:real; r:Dzuk; begin a1:=d1^.x; b1:=d1^.y; a2:=d2^.x; b2:=d2^.y; if a1<a2 then a1:=a1+1; if b1<b2 then b1:=b1+1; if a1>a2 then a1:=a1-1; if a1>a2 then b1:=b1-1; d1^.x:=a1; d1^.y:=b1; h:=sqrt(sqr(a2-a1)+sqr(b2-b1)); if h<e then begin r:=d1^.pnext; d1^.pnext:=d1^.pnext^.pnext; if r=pBeg then pBeg:=d1^.pnext; r^.pnext:=nil; k:=k-1; end; end; begin assign(input,'input.txt'); reset(input); assign(output,'output.txt'); rewrite(output); read(input,n); writeln(output,'kol-vo zukov =',n); read(input,m); writeln(output,'kol-vo wagov =',m); read(input,e); writeln(output,'rassto9nie poedani9 =',e); k:=n; {____sozdaem___spisok__________________________} new(p1); p2:=p1; pBeg:=p1; p1^.num:=1; read(input,p1^.x); read(input,p1^.y); for i:=2 to n do begin new(p2^.pnext); p2:=p2^.pnext; p2^.num:=i; read(input,p2^.x); read(input,p2^.y); end; p2^.pnext:=p1; {_______________________________________________} ppr:=pBeg; pnex:=pBeg; for i:=1 to n do begin mas[pnex^.x,pnex^.y]:=pnex^.num; pnex:=pnex^.pnext; end; vivod(mas); writeln(output,'************************'); for j:=1 to m do begin obnul(mas); ppr:=pBeg; for i:=1 to k do begin ppr:=ppr^.pnext; end; for l:=1 to k do begin shag(ppr,ppr^.pnext); mas[ppr^.x,ppr^.y]:=ppr^.num; ppr:=ppr^.pnext; end; vivod(mas); writeln(output,'************************'); end; close(output); end. Сообщение отредактировано: Shook Its On - Прикрепленные файлы ![]() |
Bokul |
![]()
Сообщение
#8
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация: ![]() ![]() ![]() |
Прикрепи необходимые файлы.
-------------------- Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее. |
Shook Its On |
![]()
Сообщение
#9
|
Гость ![]() |
Добавил)) (сразу после кода)
|
![]() ![]() |
![]() |
Текстовая версия | 2.10.2023 22:10 |