Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> сортировка элементов матрицы 
:(
    Опции темы
igorx86
  Дата 27.3.2010, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 8.10.2006

Репутация: нет
Всего: нет



Доброго времени суток!

Дана матрица вида 

Код

43215
76980
32145
36781
23415


нужно чтобы было 
Код

12345
67890
12345
13678
12345

Данный код почему-то не работает
Код

for i:=0 to 4 do begin
    for k:=0 to 4 do begin
       if m[i+1,k]<m[i,k] then begin
           c:=m[i+1,k];
           m[i+1,k]:=m[i,k];
           m[i,k]:=c;
       end;
    end;
  end;

подскажите в чем может заключаться ошибка

Заранее спасибо!
PM MAIL   Вверх
Демо
Дата 27.3.2010, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 3.11.2005

Репутация: 7
Всего: 50



Цитата(igorx86 @  27.3.2010,  15:03 Найти цитируемый пост)
подскажите в чем может заключаться ошибка


За один проход во внутреннем цикле ты же не можешь отсортировать 5 элементов.



--------------------
    
PM MAIL ICQ Skype   Вверх
Grag
Дата 27.3.2010, 16:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 22.12.2007
Где: Красноярск

Репутация: нет
Всего: нет



Цитата(igorx86 @ 27.3.2010,  15:03)
Доброго времени суток!

Дана матрица вида 

Код

43215
76980
32145
36781
23415


нужно чтобы было 
Код

12345
67890
12345
13678
12345

Данный код почему-то не работает
Код

for i:=0 to 4 do begin
    for k:=0 to 4 do begin
       if m[i+1,k]<m[i,k] then begin
           c:=m[i+1,k];
           m[i+1,k]:=m[i,k];
           m[i,k]:=c;
       end;
    end;
  end;

подскажите в чем может заключаться ошибка

Заранее спасибо!

Первый цикл нужно сделать от 0 до 3, иначе в строке 3 выйдешь за границы массива.
Затем в этих циклах ты делаешь только сортировку строк, а в самой строке символы не тусуешь...
PM MAIL ICQ Skype   Вверх
profesiachuvak
Дата 27.3.2010, 17:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 283
Регистрация: 7.11.2009
Где: Беларусь, Минск

Репутация: 1
Всего: 4



Цитата(Grag @  27.3.2010,  16:52 Найти цитируемый пост)
Первый цикл нужно сделать от 0 до 3, иначе в строке 3 выйдешь за границы массива.


Почему? Это ж матрица 5*5. Цикл от 0 до 4 вполне корректен.

Добавлено через 1 минуту и 13 секунд
Хотя похоже Вы правы, он ведь там ещё 1 добавляет.


--------------------
Закон Мерфи :если есть вероятность того, что какая-нибудь неприятность может случиться, то она обязательно произойдет.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0710 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.