Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.01.2011, 23:52   #1
Gevorg7
 
Регистрация: 12.12.2010
Сообщений: 8
Радость Сортировать четные столбцы по возрастанию

Последний раз помогите пожалуйста
Сортировать четные столбцы по возрастанию.
заранее спасибо
Gevorg7 вне форума Ответить с цитированием
Старый 29.01.2011, 01:55   #2
Don Karleone
Форумчанин
 
Регистрация: 05.04.2010
Сообщений: 410
По умолчанию

Код:
  Mas: array [1..10,1..5] of integer;
  T, i, j, k: integer;

  ...

  for j:=1 to 5 do
    if not odd(j)
      then
          begin
             // позырьковая сортировка j-го столбца
             for i:=1 to 9 do
                for k:=1 to 10 - i do
                   if Mas[k,j] > Mas[k+1,j]
                     then
                           begin
                               T:=Mas[k,j];
                               Mas[k,j]:=Mas[k+1,j];
                               Mas[k+1,j]:=T;
                           end;
          end;
вроде так, хотя я не проверял.
ICQ: 593-013-807
Don Karleone вне форума Ответить с цитированием
Старый 29.01.2011, 13:16   #3
Gevorg7
 
Регистрация: 12.12.2010
Сообщений: 8
По умолчанию

program sor;
uses crt;
var
mas:array[1..10,1..5] of integer;
b,n,m,t,i,j,k:integer;
begin
clrscr;
write (' Vvedite kol-vo strok'); read(m); { Ввод}
write (' vvedite kol-vo stolbcov'); read(n);
for i:=1 to m do
for j:=1 to n do
begin
b:=2+b;
gotoxy(b,3+i); read (mas[i,j]);
b:=2+b;
if j=n then b:=0;
end;


for j:=1 to 5 do
if not odd(j)
then
begin
// позырьковая сортировка j-го столбца
for i:=1 to 9 do
for k:=1 to 10 - i do
if Mas[k,j] > Mas[k+1,j]
then
begin
T:=Mas[k,j];
Mas[k,j]:=Mas[k+1,j];
Mas[k+1,j]:=T;
end;
end;



for i:=1 to m do
for j:=1 to n do
begin
b:=2+b;
gotoxy(b,15+m+i); write (mas[i,j]); {Вывод}
b:=6+b;
if j=n then b:=0
end;
readkey;
end.

CTRL+F9

Vvedite kol-vo strok =2
vvedite kol-vo stolbcov=2

1 2
3 4

1 0
3 0

что неправильно в программе ??????
Gevorg7 вне форума Ответить с цитированием
Старый 29.01.2011, 13:16   #4
Gevorg7
 
Регистрация: 12.12.2010
Сообщений: 8
По умолчанию

заранее спасибо

Последний раз редактировалось Gevorg7; 29.01.2011 в 13:22.
Gevorg7 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi. упорядочить столбцы матрицы по возрастанию сумм элементов этого столбца ДваДваВо7 Помощь студентам 2 09.02.2011 16:40
Четные не четные числа. (Pascal/Delphi) Wild_klas Помощь студентам 1 20.11.2010 22:56
Сортировать нечётные столбцы.... bandit_andrei Паскаль, Turbo Pascal, PascalABC.NET 2 05.06.2010 21:22
Выравнивание в колонтитуле (четные, не четные страницы) Олег678 Microsoft Office Word 5 20.01.2010 09:06
Переформировать матрицу - столбцы по возрастанию их последних элементов HoroHoro Паскаль, Turbo Pascal, PascalABC.NET 9 23.12.2008 19:20