07.09.2013, 15:24 | #1 (permalink) |
Новичок
Регистрация: 07.09.2013
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Двумерный массив
Unit matrix_f; interface procedure initialize (asize:integer); function coordstroka(K: integer): integer; function column(K: integer): integer; implementation var n:integer; {Функция для получения текущей строки} function tekstroka(K: integer): integer; var tstroka:integer; begin tstroka:= K div (n * 2); if (K mod (n * 2) <> 0) then tstroka := tstroka + 1; tekstroka:=tstroka; end; {функция для получения координат столбца} function column(K: integer): integer; var step, tstroka, c: integer; begin tstroka:=tekstroka(K); step := K - (tstroka - 1) * (n * 2); c:= (step div 2) + (step mod 2); if (tstroka mod 2 = 0) then c:=n- c+ 1; column:=c; end; {функция для получения координат строк} function coordstroka (K: integer): integer; var tstroka, c: integer; begin tstroka:= tekstroka(K); c:=tstroka * 2; if (K mod 2 = (column(K) mod 2)) then c:=c- 1; coordstroka:=c; end; {процедура инициализации} procedure initialize(asize: integer); begin n:= asize; end; end. вот сама программа: Код Pascal program task1; uses crt, matrix_f; const n=10; var matrix: array[1..n, 1..n] of integer; loop, loopstroka, loopcolumn: integer; begin clrscr; initialize(n); for loop := 1 to n*n do matrix[coordstroka(loop)][column(loop)]:=loop-1; for loopstroka:= 1 to n do begin for loopcolumn:= 1 to n do begin write(matrix[loopstroka][loopcolumn], ' '); end; writeln(''); end; readkey; end. Сортировка подсчетом: Код Pascal procedure Sort(var z:Vector); var i,j,R,T:integer; b:Vector; begin{Sort} R:=n-1; {Обнуление счетчика*} for i:=1 to n do z[i]:=0; {Подсчет} for i:=1 to R do for T:=i+1 to n do if a[i]>a[j] then inc(z[i]) else inc (z[j]); for i:=1 to n do b[z[i]+1]:=a[i]; a:=b; end;{Sort} |
07.09.2013, 15:24 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Люди посещающие форум уже создавали что то подобное Дан двумерный массив Двумерный массив Двумерный массив Си |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|