Вообще задача:отсортировать матрицу перестановкой срок так чтоб элементы в последнем столбце стояли по возрастнаию.Найти ср арифмет последнего столбца.у меня не сортирует.
Program matr; Uses crt; const max=10;
Var i,j,n,m,x,k:integer; a:array [1..max,1..max] of integer; b:array [1..max,1..max] of integer; candidat:integer; sum:real; Begin ClrScr; Textcolor(6); Writeln('predupregdenir'); repeat textcolor(2); writeln('vvod');
readln(n); writeln ('vvod'); readln(m); if (n<0) or (m<0) or (m>max )then writeln('vi vveli ne dopustimie zna4enija') until (n>0) and (n<max) and (m>0) and (m<max);
writeln('‚ў®¤ ¬ ваЁжл'); for i:=1 to n do for j:=1 to m do begin write ('elementi ',i,' н«Ґ¬Ґв ',j,'stolbca:'); readln(a[i,j]); end; writeln('isxodnaya'); for i:=1 to n do begin for j:=1 to m do write(a[i,j]:3); writeln; end; for i:=1 to n do b[j,1]:=a[i,m]; for i:=1 to n-1 do for j:=1 to n do if b[j,m]<b[j,1] then begin k:=b[j,1]; b[j,1]:=b[j,m]; b[j,m]:=k end; for j:= 1 to n do begin if a[j,m]<>b[j,1] then begin for j:=1 to n do if a[j,m]=b[j,1] then b[j,2]:=j end else b[j,2]:=j; end;
writeln('®вб®авЁа®ў п ¬ ваЁж '); for i:=1 to n do begin for j:=1 to m do write(a[i,j]:3); writeln; end; K:=0; for i:=1 to n do k:=k+a[i,j]; sum:=k/n; write('б।ҐҐ аЁд¬.=',sum:0:3); repeat until keypressed; end.
lsdy
25.05.2007 1:39
Помогите горит очень!!
мисс_граффити
25.05.2007 2:19
Если хотите получить помощь - как минимум, с уважением относитесь к собеседникам и соблюдайте правила (они написаны наверху страницы).Особенно это касается тегов. Настоятельно рекомендую внести исправления.
lsdy
25.05.2007 2:30
Цитата(мисс_граффити @ 24.05.2007 23:19)
Если хотите получить помощь - как минимум, с уважением относитесь к собеседникам и соблюдайте правила (они написаны наверху страницы).Особенно это касается тегов. Настоятельно рекомендую внести исправления.
Понял. Помогите плз поиском нашел многое но не много не то((А думать голова не может а отладить срочно надо.
Айра
25.05.2007 3:00
По-моему, сортировка должна выглядеть так:
for z:=2 to n do for j:=n downto z do begin if a[j-1,m]>a[j,m] then begin k:=a[j-1,m]; a[j-1,m]:=a[j,m]; a[j,m]:=k; end; end;
volvo
25.05.2007 4:23
Цитата
По-моему, сортировка должна выглядеть так:
Не совсем... Несмотря на то, что сравниваться должны только элементы последнего столбца, менять -то местами надо строки, а не только элементы этого самого столбца:
for z:=2 to n do for j:=n downto z do begin if a[j-1,m]>a[j,m] then for p := 1 to m do begin { меняем местами строки полностью } k:=a[j-1,p]; a[j-1,p]:=a[j,p]; a[j,p]:=k; end; end;
Айра
25.05.2007 9:50
Спасибо, что поправил опять я невнимательно читаю задание(((
lsdy
25.05.2007 10:42
Айра,вольво респект.Будете в г.Йошкар-Ола звоните(+79600917742) помогу чем смогу !!
lsdy
1.06.2007 2:24
Еще вопрос как сделать чтоб отсортированный столбец записывало в txt файл?
Айра
1.06.2007 3:40
Можно воть так, если всю матрицу (вдруг понадобится)))) записывать:
var f: text; ... assign(f,'rezult.txt'); rewrite(f); {если делать так, то файл будет создаваться сам там же где живет код программы} for i:=1 to n do begin for j:=1 to m do begin write(f,a[i,j]); end; writeln(f); end; close(f); ...
и так, только для столбца:
var f: text; ... assign(f,'rezult.txt'); rewrite(f); for i:=1 to n do begin writeln(f,a[i,m]); end; close(f); ...
p.s. проверяла на другой программке, но вроде работает))
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.