Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 2 142

/ вопрос открыт /

Здравствуйте, уважаемые эксперты! Помогите написать программу!
Вводятся две вещественные квадратные матрицы {A}n,n {B}m,m (n,m<=10)
В той матрице, в которой количество строк упорядоченных по убыванию элементов больше, переставить строки матрицы в порядке возрастания элементов k-ого столбца, в противном случае сформировать массив их из положительных минимальных элементов строк.

Pagon Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Pagon (статус: Посетитель)
Вопрос отправлен: 29 ноября 2008, 19:31
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: Мережников Андрей

Здравствуйте, Pagon!
В приложении приведены функции, которые решают Вашу задачу. Вопрос ввода элементов в массивы и вывода их в нужном виде, думаю, решите сами

Приложение:
  1. type TMyArray=array [1..10,1..10] of integer;
  2.  
  3.  
  4.  
  5. function GetQRow(var tt:TMyArray;dm:integer):integer;
  6. var i,j:integer;
  7. f:boolean;
  8. begin
  9.  
  10.  
  11.  
  12. Result:=0;
  13. for i := 1 to dm
  14. do begin
  15. f:=true;
  16. j:=2;
  17. while (f)and(j<=dm)
  18. do if (tt[j,i]>=tt[j-1,i])
  19. then f:=false
  20. else inc(j);
  21. if (f)
  22. then inc(Result);
  23. end;
  24. end;
  25.  
  26. procedure SortRowArray(var tt:TMyArray;dm,k:integer);
  27. var i,j,c,x:integer;
  28. begin
  29.  
  30.  
  31. for i := 1 to dm - 1
  32. do begin
  33. for j := i+1 to dm
  34. do begin
  35. if (tt[k,i]>tt[k,j])
  36. then begin
  37.  
  38. for c := 1 to dm
  39. do begin
  40. x:=tt[c,i];
  41. tt[c,i]:=tt[c,j];
  42. tt[c,j]:=x;
  43. end;
  44. end;
  45. end;
  46. end;
  47. end;
  48.  
  49. function SortColArray(var tt,ttres:TMyArray;dm:integer):integer;
  50. var i,j,mm:integer;
  51. begin
  52.  
  53.  
  54.  
  55. Result:=0;
  56.  
  57.  
  58.  
  59.  
  60. for i:=1 to dm
  61. do begin
  62. mm:=-1;
  63. for j:=1 to dm
  64. do begin
  65. if (tt[j,i]>=0)
  66. then begin
  67. if (mm<0)
  68. then mm:=tt[j,i]
  69. else if (mm>tt[j,i])
  70. then mm:=tt[j,i];
  71. end;
  72. end;
  73. if (mm>=0)
  74. then begin
  75. inc(Result);
  76. ttres[Result,1]:=mm;
  77. end;
  78. end;
  79. end;
  80.  


Ответ отправил: Мережников Андрей (статус: Абитуриент)
Время отправки: 5 декабря 2008, 07:25


Мини-форум вопроса

Всего сообщений: 4; последнее сообщение — 4 декабря 2008, 17:25; участников в обсуждении: 2.
Мережников Андрей

Мережников Андрей (статус: Абитуриент), 29 ноября 2008, 19:37 [#1]:

Что значит :"строк упорядоченных по убыванию элементов больше"?
"сформировать массив их из положительных минимальных элементов строк." - брать элементы из обоих матриц?
Pagon

Pagon (статус: Посетитель), 29 ноября 2008, 19:52 [#2]:

"строк упорядоченных по убыванию элементов больше"?
строка, где каждый последующий элемент меньше предыдущего
"сформировать массив их из положительных минимальных элементов строк." - брать элементы из обоих матриц?
да
Мережников Андрей

Мережников Андрей (статус: Абитуриент), 30 ноября 2008, 08:17 [#3]:

Уточните, пожалуйста, как формировать массив из положительных минимальных элементов строк по двум матрицам, если их размерности различны (m<>n)
Pagon

Pagon (статус: Посетитель), 4 декабря 2008, 17:25 [#4]:

"сформировать массив их из положительных минимальных элементов строк."
оказывается нужно брать элементы одной матрицы, той в которой строк упорядоченных по убыванию элементов меньше

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:50
Выполнено за 0.03 сек.