| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Asm для начинающих > Матрица_Т |
| Автор: Leshiy1 3.1.2011, 00:56 |
| Здравствуйте всем. Задача такая: В матрице переставить столбцы по возрастанию сумм столбцов матрицы Program Matrix; Uses Crt; label a1; const n=2; m=3; var a:array[1..n, 1..m] of byte; i,j,s,matr:integer; begin randomize; clrscr; textcolor(14); for i:=1 to n do begin writeln; for j:=1 to m do begin a[i,j]:=5+random(5); write(a[i,j]:5); end; writeln; end; writeln; textcolor(9); writeln(' Summa stolbcov'); writeln; for i:=0 to m-1 do begin asm mov di,i {nomer stolbca} mov cx,n {kolichestvo strok} mov bx,0 {mesto dlya podcheta summu} mov ah,0 a1: mov al,byte[a+di] add bx,ax {summa elementov stolbca} add di,j loop a1 mov s,bx mov cx,m {perestavlennaya matrica} cmp di,i mov ax,di mov matr,ax end; textcolor(10); write(' ',s:4); end; writeln; writeln; textcolor(11); writeln(' Perestanovka'); writeln; textcolor(12); write(' ',matr); Readkey; End. Считает только сумму столбцов матрицы. Как переставить столбцы, помогите? |