![]() |
#1 (permalink) |
Новичок
Регистрация: 21.12.2010
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
![]() Код:
program n10; uses crt; const n=10; var B:array[1..n, 1..n] of integer; i,j,k,m:byte; begin clrscr; writeln('----исходная матрица B'); randomize; For I:=1 to n do For j:=1 to n do b[i,j]:=Trunc(Random*90)+10; For i:=1 to n do Begin For j:=1 to n do write (b[i,j],' '); writeln; end; for i:=1 to n-1 do for j:=1 to n-1 do begin if b[1,i]>b[1,i+1] then begin for m:=1 to n do begin k:=b[m,i]; b[m,i]:=b[m,i+1]; b[m,i+1]:=k; end; end; end; writeln('-----отсортированная матрица B '); for i:=1 to n do begin for j:=1 to n do write(b[i,j],' '); writeln; end; end. |
![]() |
![]() |
![]() |
|
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Наверное проблема уже решена в похожих темах Матрица. Как записать матрицу, составленную из трёх единичных матриц? Обработка txt Обработка алюминия Обработка матриц. Паскаль Обработка массивов |
![]() |
#2 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,809
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
![]()
А где формулировка задания? Или Вы предлагаете нам восстанавливать задачу по неправильно работающей программе? Спасибо, конечно, но нам есть чем заняться.
|
![]() |
![]() |
![]() |
#5 (permalink) |
Новичок
Регистрация: 21.12.2010
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
![]() |
![]() |
![]() |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
![]() |
#7 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,809
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
![]()
Да, несколько Вы запутались с методом пузырька. Правильно так:
Код:
program n10; uses crt; const n=10; var B:array[1..n, 1..n] of integer; i,j,k,m:byte; begin clrscr; writeln('----исходная матрица B'); randomize; For I:=1 to n do For j:=1 to n do b[i,j]:=Trunc(Random*90)+10; For i:=1 to n do Begin For j:=1 to n do write (b[i,j],' '); writeln; end; for i:=1 to n-1 do for j:=1 to n-i do {Именно n-i, а не n-1!!!} begin if b[1,j]>b[1,j+1] then {Обратите внимание - перебор по j, а не по i !!!} begin for m:=1 to n do begin k:=b[m,j]; b[m,j]:=b[m,j+1]; b[m,j+1]:=k; end; end; end; writeln('-----отсортированная матрица B '); for i:=1 to n do begin for j:=1 to n do write(b[i,j],' '); writeln; end; readln; end. |
![]() |
![]() |
![]() |
#8 (permalink) |
Новичок
Регистрация: 21.12.2010
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
![]()
Спасибо! Я был близок к решению=)))
|
![]() |
![]() |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
![]() |
Опции темы | |
Опции просмотра | |
|
|