Непонятный участок кода |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
Непонятный участок кода |
ruslan55x55 |
7.05.2013 21:08
Сообщение
#1
|
Группа: Пользователи Сообщений: 1 Пол: Мужской Репутация: 0 |
Не могу разобраться с участком кода, а именно:
1. Как к элементу массива Ray прибавляют число 1000, ведь тип элементов массива Ray это байты, а байт может иметь максимальное значение 255? 2. Переменная jj в цикле инкрементируется от 0 до 255, как же тогда присваивается значение переменной sj:=lin[s11[jj],jjj]? Переменной sj присваивается значение байта из массива lin, адрес этого байта - это строка s11[jj], и столбец jjj, Нестыковка именно со значением строки, значение строки это jj-й элемент массива s11, но в массиве s11 всего 4 элемента(байта), а переменная jj инкрементируется до 255. Код type position=array [1..9] of byte; var Kl : position; Ray: position; s00,s11,s44: array [0..3] of byte; s0,s1,s4,ssj,ii,j,jj,jjj,sj: byte; const lin : array[1..8,1..3] of byte = ((1,2,3),(4,5,6),(7,8,9), (1,4,7),(2,5,8),(3,6,9), (1,5,9),(3,5,7)); begin s00[s0]:=ssj; inc(s0); for jj:=0 to s4-1 do for jjj:=1 to 3 do begin sj:=lin[ssj,jjj]; if sj<>ii then Ray[sj]:=Ray[sj]+1000 end for jj:=0 to s1-1 do begin for jjj:=1 to 3 do begin sj:=lin[ssj,jjj]; Ray[sj]:=Ray[sj]+10; end for jjj:=1 to 3 do begin sj:=lin[s11[jj],jjj]; if (sj<>ii)and(Kl[sj]=0) then Ray[sj]:=Ray[sj]+10 end end end; |
Федосеев Павел |
11.05.2013 21:32
Сообщение
#2
|
Бывалый Группа: Пользователи Сообщений: 298 Пол: Мужской Реальное имя: Федосеев Павел Репутация: 8 |
Да-а-а...
Код фтопку! P.S. Могу лишь предположить, что к тебе попал не целый исходник программы, а лишь её фрагмент. Отсюда и нестыковки. Раз уж ты пытаешься научиться - попробуй реализовать собственный вариант решения. Появятся вопросы по нему - задавай. |
Текстовая версия | 2.11.2024 19:04 |