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

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

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

Delphi.int.ru Expert

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

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

#   

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


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

Подробнее »



Вопрос # 5 378

/ вопрос решён /

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

К вопросу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки вопроса)

Приложение:
  1. unit Unit1;
  2.  
  3. interface
  4.  
  5. uses
  6. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  7. Dialogs, StdCtrls;
  8.  
  9. type
  10. TForm1 = class(TForm)
  11. Button1: TButton;
  12. Edit1: TEdit;
  13. Label1: TLabel;
  14. Label2: TLabel;
  15. Button2: TButton;
  16. Label3: TLabel;
  17. procedure Button1Click(Sender: TObject);
  18. procedure Button2Click(Sender: TObject);
  19. private
  20. { Private declarations }
  21. public
  22. { Public declarations }
  23. end;
  24.  
  25. var
  26. Form1: TForm1;
  27. NumItems: integer;
  28.  
  29. implementation
  30. type
  31. TIntArray = array[1..1000000] of integer;
  32. PIntArray = ^TIntArray;
  33. var
  34. Items: PIntArray;
  35.  
  36. {$R *.dfm}
  37.  
  38. var w:integer;
  39. begin
  40. if k>1 then
  41. begin
  42. w:=IndMax(k-1);
  43.  
  44. IndMax:=w
  45. else
  46. IndMax:=k;
  47. end
  48. else
  49. IndMax:=1;
  50. end;
  51.  
  52.  
  53. var w:integer;
  54. begin
  55. if k>1 then
  56. begin
  57. w:=IndMin(k-1);
  58.  
  59. IndMin:=w
  60. else
  61. IndMin:=k;
  62. end
  63. else
  64. IndMin:=1;
  65. end;
  66.  
  67. procedure TForm1.Button1Click(Sender: TObject);
  68. var
  69. I: Integer;
  70. Txt: String;
  71. begin
  72.  
  73.  
  74. Txt:='';
  75.  
  76.  
  77. for i:=1 to NumItems do
  78. begin
  79.  
  80. Txt:=Txt+IntToStr(Items^[i])+' ';
  81. end;
  82. Label1.Caption:=Txt;
  83. end;
  84.  
  85. procedure TForm1.Button2Click(Sender: TObject);
  86. var i,j,k,z,q,w,p:integer;
  87.  
  88.  
  89.  
  90.  
  91.  
  92. begin
  93. label2.Caption:='';
  94. j:=0;
  95.  
  96.  
  97.  
  98. for i:=1 to NumItems do
  99. begin
  100.  
  101.  
  102.  
  103. GetMem(MaxItems,j*SizeOf(integer));
  104. MaxItems^[j]:=i;
  105. end;
  106.  
  107.  
  108.  
  109. GetMem(MinItems,k*SizeOf(integer));
  110. MinItems^[k]:=i;
  111. end;
  112. end;
  113.  
  114.  
  115. while q<>0 do
  116. for i:=1 to j do
  117. begin
  118. for z:=1 to k do
  119.  
  120. q:=q-1;
  121. end;
  122.  
  123.  
  124. end;


Ruslan1993 Вопрос решён, но можно продолжить его обсуждение в мини-форуме

Вопрос задал: Ruslan1993 (статус: Посетитель)
Вопрос отправлен: 6 июня 2011, 16:18
Состояние вопроса: решён, ответов: 0.


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

Всего сообщений: 2; последнее сообщение — 7 июня 2011, 00:58; участников в обсуждении: 1.
Ruslan1993

Ruslan1993 (статус: Посетитель), 7 июня 2011, 00:58 [#1]:

вопрос решен собственными условиями ... тема закрыта ))) извините за беспокойство
Ruslan1993

Ruslan1993 (статус: Посетитель), 7 июня 2011, 00:58 [#2]:

ой усилиями

7 июня 2011, 00:59: Статус вопроса изменён на решённый (изменил автор вопроса — Ruslan1993): решил сам

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

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