16.04.2011, 22:10 | #1 (permalink) |
Member
Регистрация: 11.11.2010
Сообщений: 85
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Репутация: 20
|
Упорядочить массив
Создайте двумерный массив n х n. Упорядочить элементы столбцов массива по возрастанию. |
16.04.2011, 22:10 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Аналогичные проблемы уже обсуждались ранее Упорядочить файлы Двумерный массив Массив в VBA |
17.04.2011, 10:12 | #2 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Zena, не валяйте дурака - Вы умеете писать программы и с этой пустячной задачкой вполне справитесь и без нас.
|
17.04.2011, 13:19 | #3 (permalink) |
Member
Регистрация: 11.11.2010
Сообщений: 85
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Репутация: 20
|
Ну в паскале я немного умею, но вот что касается Delphi, то сталкивалась с ним только дважды, так и не поняв основы(и времени не хватает разобраться во всём, нужно к завтрашнему дню).
В паскале что-то накалякала: Код:
var a:array[1..5,1..5]of integer; i,j,k,t,d:integer; begin clrscr; randomize; for i:=1 to n do begin for j:=1 to m do begin a[i,j]:=random(40)-20; write(a[i,j]:4); end; writeln; end; writeln; for j:=1 to m do for i:=1 to n-1 do begin k:=i; for d:=i+1 to n do if a[k,j]>a[d,j] then k:=d; t:=a[i,j]; a[i,j]:=a[k,j]; a[k,j]:=t; end; writeln('Результат:'); for i:=1 to n do begin for j:=1 to m do write(a[i,j]:4); writeln; end; readln; end. |
17.04.2011, 15:56 | #4 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Да уж. Накалякала. Ошибку на ошибке. Константы m и n не определены и не заданы, алгоритм упорядочения - тоже с кучей ошибок. Ладно, держите рабочий вариант на Паскале. А Delphi за часок-другой не освоите, и не пытайтесь. Очень непростая игрушка.
Код:
Uses CRT; const n=5; var a:array[1..n,1..n]of integer; i,j,k,t:integer; begin clrscr; randomize; for i:=1 to n do begin for j:=1 to n do begin a[i,j]:=random(40)-20; write(a[i,j]:4); end; writeln; end; writeln; for j:=1 to n do for i:=1 to n-1 do for k:=1 to n-i do if a[k,j]>a[k+1,j] then begin t:=a[k,j]; a[k,j]:=a[k+1,j]; a[k+1,j]:=t; end; writeln('Результат:'); for i:=1 to n do begin for j:=1 to n do write(a[i,j]:4); writeln; end; readln; end. |
18.04.2011, 08:26 | #5 (permalink) |
Member
Регистрация: 11.11.2010
Сообщений: 85
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Репутация: 20
|
Ой, это в разделе переменных я под самый конец заменила n и m на 5, а в самой программе не изменила.
А за код спасибо. |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|