![]() |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
![]() |
Sir |
![]()
Сообщение
#1
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 95 Пол: Мужской Репутация: ![]() ![]() ![]() |
Короче смысл такой:
Дан город, даны маршруты , остановки , необходимо после ввода 2 остановок указать возможные маршруты передвижения между ними. Я уже сделал проверку (наличие остановок в маршруте): Код procedure ch_way; var x,y,d,i,kv,l,cnm:integer; ot,nm:string; m:array[1..10] of string; mrez:array[1..5] of string; begin kv:=0; L:=0; nm:=''; for i:=1 to 10 do begin m[i]:=''; mrez[i]:=''; end; while kv<>7 do begin cnm:=0; kv:=kv+1; case kv of 1:begin i:=1; while w1[i]<>'' do begin m[i]:=w1[i]; nm:='1'; i:=i+1; end; end; 2:begin i:=1; while w2[i]<>'' do begin m[i]:=w2[i]; nm:='2'; i:=i+1; end; end; 3:begin i:=1; while w3[i]<>'' do begin m[i]:=w3[i]; nm:='3'; i:=i+1; end; end; 4:begin i:=1; while w4[i]<>'' do begin m[i]:=w4[i]; nm:='4'; i:=i+1; end; end; 5:begin i:=1; while w5[i]<>'' do begin m[i]:=w5[i]; nm:='5'; i:=i+1; end; end; end; i:=1; while m[i]<>'' do begin if st=m[i] then cnm:=cnm+1; if en=m[i] then cnm:=cnm+1; i:=i+1; end; if cnm=2 then begin l:=l+1; mrez[l]:=nm; end; end; x:=10; y:=40; settextjustify(lefttext,bottomtext); outtextxy(10,20,'MapwpyTbl:'); ot:=''; d:=1; while mrez[d]<>mrez[d-1] do begin ot:=mrez[d]; x:=x+20; white_text; if mrez[d]<>mrez[d+1] then outtextxy(x,y,''+ot+','); if mrez[d]=mrez[d+1] then outtextxy(x,y,''+ot+'.'); white_text; delay(9000); black_text; d:=d+1; end; black_text; readln; end; Но если между остановками нет действующего маршрута то нужно естественно делать пересадки что при моём способе проверки невозможно(точнее возможно , но если будет 100 или более маршрутов то придётся делать что-то вроде этого: Код case kv of 1:begin kv1:=kv1+1; case kv1 of 1:begin end; … 100:begin end; end; … 100:begin end; а это мягко говоря нерационально). Я думал может сделать массив из массивов , но что-то у меня не получается(знаний не хватает).Объясните пожалуйста как оформлять такие массивы в const (массивы одномерные , тип - string). Помогите и если возможно, подскажите более быстрый алгоритм! |
![]() ![]() |
Slam |
![]()
Сообщение
#2
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 136 Пол: Мужской Репутация: ![]() ![]() ![]() |
Лучше переделай тему ;)(см. "правила новичкам..."), а то "злые" ;D модеры закроют(или "злой" ;D AlaRic") или удалят твою тему...
|
AlaRic |
![]()
Сообщение
#3
|
... ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 347 Пол: Мужской Репутация: ![]() ![]() ![]() |
Злых модеров не бывает!
Пример: const mas:array[1..3] of string= ( ('a1'),('a2'),('a3') ); |
GLuk |
![]()
Сообщение
#4
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 775 Пол: Мужской Репутация: ![]() ![]() ![]() |
Как то я тоже хотел сделать такую фишку, но с просчетом пешедрала. И вот, что могу сказать на это в плане разработки оптимального алгоритма:
Это большая ЖОПА В итоге я кинул эту идею. Самое г-о забить данные о самом городе :-X |
Sir |
![]()
Сообщение
#5
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 95 Пол: Мужской Репутация: ![]() ![]() ![]() |
2AlaRic:Я имел в виду описание в const массива типа array [1..n] of array [1..a]!
|
Geo |
![]()
Сообщение
#6
|
Гость ![]() |
Цитата описание в const массива типа array [1..n] of array [1..a] если под n и a подразумеваются константы, то вот так const mas: array[1..2,1..3] of string = (('11', '12', '13') ('21', '22', '23')); может быть, каждый элемент тоже в скобки взять нужно а если n a - не константы, тогда ничего не получится |
Sir |
![]()
Сообщение
#7
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 95 Пол: Мужской Репутация: ![]() ![]() ![]() |
2All:Да я типа спрашиваю , МОЖЕТ ПОДСКАЖЕТЕ АЛГОРИТМ , а вы мне всё пишите фигню!
|
![]() ![]() |
![]() |
Текстовая версия | 27.07.2025 13:23 |