25.12.2011, 15:18 | #1 (permalink) |
Member
Регистрация: 19.12.2011
Сообщений: 12
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Отсортировать числа
|
25.12.2011, 15:18 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Возможно вы не обращали внимания, но на нашем форуме так же есть аналогичные темы Даны три вещественных числа... Паскаль. Сумма цифр числа Паскаль. Обработка натурального числа Помогите отсортировать. Записи Умножение длинного числа на короткое (Турбо Паскаль). |
25.12.2011, 19:10 | #3 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Ну ладно, не дождавшись ответа - вот, нарисовал в качестве примера:
Код:
CONST N=10; VAR T:Array[1..10] of Byte; i,j,d:Byte; BEGIN Randomize; For i:=1 to N do T[i]:=Random(N); Writeln('Initial array:'); For i:=1 to N do Write(T[i]:2); Writeln; Writeln; For i:=1 to N-1 do For j:=1 to N-i do If T[j]>T[j+1] then begin d:=T[j]; T[j]:=T[j+1]; T[j+1]:=d; end; Writeln('Ordered array:'); For i:=1 to N do Write(T[i]:2); Readln; END. |
25.12.2011, 19:48 | #4 (permalink) | |
Member
Регистрация: 19.12.2011
Сообщений: 12
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Vladimir_S, спасибо большое))
у меня получилось так: Цитата:
|
|
25.12.2011, 19:51 | #5 (permalink) |
Member
Регистрация: 19.12.2011
Сообщений: 12
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
это был код, а не цитата ><
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
25.12.2011, 20:25 | #8 (permalink) |
Member
Регистрация: 19.12.2011
Сообщений: 12
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
что-то я совсем запуталась :/
Код:
uses crt; const n=4; m=9; type mass=array [1..n,1..m] of integer; procedure vvod(var a:mass; f:text); var i,j:byte; begin for i:=1 to n do begin for j:=1 to m do read(a[i,j]); end; for i:=1 to n do begin for j:=1 to m do write(f,a[i,j],' '); writeln; end; end; procedure ordering(var a:mass); var i,j,d:byte; begin for i:=1 to m-1 do for j:=1 to m-i do if a[1,j]>a[1,j+1] then begin d:=a[1,j]; a[1,j]:=a[1,j+1]; a[1,j+1]:=d; end; end; var a:mass; i,j,d:Byte; f:text; begin assign(f,'in.txt'); reset(f); vvod(a,f); close(f); assign(f,'in.txt'); rewrite(f); ordering(a); writeln('Ordered array:'); for i:=1 to m do write(a[1,i]:2,' '); readln; close(f); end. |
25.12.2011, 20:51 | #9 (permalink) |
support
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
|
Версия Pascal тут не при чем, все дело в привычке цеплять crt везде, где он нужен и не нужен, так уж их научили .
|
25.12.2011, 20:55 | #10 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Посмотрите такой вариант. Исправил несколько ошибок, "причесал", вставил экранные подсказки (не люблю "слепого" ввода):
Код:
uses crt; const n=4; m=9; type mass=array [1..n,1..m] of integer; var a:mass; f:text; procedure vvod(var b:mass); var i,j:byte; begin for i:=1 to n do for j:=1 to m do begin write('a[',i,',',j,']= '); readln(b[i,j]); end; for i:=1 to n do begin for j:=1 to m do write(f,b[i,j]:4); writeln(f); end; end; procedure ordering(var b:mass); var i,j,d:byte; begin for i:=1 to m-1 do for j:=1 to m-i do if b[1,j]>b[1,j+1] then begin d:=b[1,j]; b[1,j]:=b[1,j+1]; b[1,j+1]:=d; end; for i:=1 to m do write(f,b[1,i]:4); end; begin assign(f,'in.txt'); rewrite(f); vvod(a); close(f); assign(f,'out.txt'); rewrite(f); ordering(a); close(f); end. |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|