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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.01.2013, 14:09   #1
Carefuly
Пользователь
 
Аватар для Carefuly
 
Регистрация: 30.01.2013
Сообщений: 19
По умолчанию Упорядочение двумерных массивов

Упорядочить по возрастанию элементы каждой строки матрицы размером n.
Если можно, то напишите программу полностью (не очень хорошо понял тему).Заранее спасибо))
Carefuly вне форума Ответить с цитированием
Старый 31.01.2013, 17:08   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,318
По умолчанию

Если кто-нибудь напишет, то чему же Вы научитесь?
Нужно сразу разбираться - дальше будет сложнее.
Давайте разбираться - Вы можете ввести массив?
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 31.01.2013, 17:31   #3
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
не очень хорошо понял тему
Какую именно? Их тут минимум две: массивы и сортировки.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 31.01.2013, 21:00   #4
Carefuly
Пользователь
 
Аватар для Carefuly
 
Регистрация: 30.01.2013
Сообщений: 19
По умолчанию

Я хочу научиться заполнять массив случайными числами...по-моему,так:
randomize;
for i:=1 to n do
begin
for j:=1 to n do
begin
a[i,j]:=random(10);
write(a[i,j],' ');
end;
writeln;
end;

если что не так исправьте..
Carefuly вне форума Ответить с цитированием
Старый 31.01.2013, 21:03   #5
Carefuly
Пользователь
 
Аватар для Carefuly
 
Регистрация: 30.01.2013
Сообщений: 19
По умолчанию

Но как его упорядочить?
Carefuly вне форума Ответить с цитированием
Старый 31.01.2013, 21:27   #6
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,318
По умолчанию

Код:
const
  n = 10;
var
  i, j: integer;
  a: array [1..n, 1..n] of integer;
BEGIN
  randomize;
  for i := 1 to n do
  begin
    for j := 1 to n do
    begin
      a[i, j] := random(10);
      write(a[i, j], ' ');
    end;
    writeln;
  end;
  readln;
END.
Да, так можно заполнять массив.

Вот сортировка одномерного массива:
Код:
const
  n = 10;
var
  i, j, t: integer;
  a: array [1..n] of integer;
BEGIN
  randomize;
  for i := 1 to n do
  begin
    a[i] := random(10);
    write(a[i], ' ');
  end;
  writeln;
  for i := 1 to n - 1 do
    for j := i + 1 to n do
      if a[i] > a[j] then
      begin
        t := a[i];
        a[i] := a[j];
        a[j] := t;
      end;
  for i := 1 to n do
    write(a[i], ' ');
  readln;  
END.
Вам осталось добавить 1 внешний цикл, чтобы получилась сортировка строк массива.

ПС Не забывайте пользоваться кнопочками # (решетка) для оформления кода и "Правка" для дописывания сообщения.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 02.02.2013, 18:50   #7
Carefuly
Пользователь
 
Аватар для Carefuly
 
Регистрация: 30.01.2013
Сообщений: 19
По умолчанию

Я немножко по-другому сделал)Если нетрудно, проверьте пожалуйста...может что-то напутал

const
n = 10;
var
i, j, f, z: integer;
a: array [1..n, 1..n] of integer;
BEGIN
randomize;
for i := 1 to n do
begin
for j := 1 to n do
begin
a[i, j] := random(10);
write(a[i, j], ' ');
end;
writeln;
for j:=1 to n do
begin
for f:=j to n do
begin
if a[1,j]>a[1,f] then
begin
for i:=1 to n do
begin
z:=a[i,f];
a[i,f]:=a[i,j];
a[i,j]:=z;
end;
end;
end;
writeln;
writeln;
for i:=1 to n do
begin
for j:=1 to n do
begin
write(a[i,j]:2,' ');
end;
writeln;
end;
readln;
END.
Carefuly вне форума Ответить с цитированием
Старый 02.02.2013, 19:10   #8
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,318
По умолчанию

Во-первых, оформляйте код кнопочкой #.
Во-вторых, я не понял Вашей сортировки, но после нескольких запусков не увидел, чтобы все строки в матрице были отсортированы.
Кстати, в коде не хватает пары end'ов.

Код:
const
  n = 10;

var
  i, j, k, t: integer;
  a: array [1 .. n, 1 .. n] of integer;

BEGIN
  randomize;
  for i := 1 to n do
  begin
    for j := 1 to n do
    begin
      a[i, j] := random(10);
      write(a[i, j]:4);
    end;
    writeln;
  end;

  for k := 1 to n do
    for i := 1 to n - 1 do
      for j := i + 1 to n do
        if a[k, i] > a[k, j] then
        begin
          t := a[k, i];
          a[k, i] := a[k, j];
          a[k, j] := t;
        end;

  writeln;
  writeln;

  for i := 1 to n do
  begin
    for j := 1 to n do
    begin
      write(a[i, j]:4);
    end;
    writeln;
  end;
  readln;
END.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 02.02.2013 в 19:12.
BDA вне форума Ответить с цитированием
Старый 02.02.2013, 21:06   #9
Carefuly
Пользователь
 
Аватар для Carefuly
 
Регистрация: 30.01.2013
Сообщений: 19
По умолчанию

Спасибо за помощь=)
Carefuly вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработка двумерных массивов Natulik96 Помощь студентам 0 16.03.2012 19:23
Обработка двумерных массивов Natulik96 C++ Builder 0 14.03.2012 19:12
Обработка двумерных массивов delegate Помощь студентам 5 26.02.2012 22:48
Обработка двумерных массивов C++ 803 Помощь студентам 9 18.02.2012 20:15
Обработка двумерных массивов Alexxxxxx Помощь студентам 5 23.10.2011 00:07