| 
| 
 | Вопрос # 5 378/ вопрос решён / | 
 |  Доброго времени суток, уважаемые эксперты! Прошу помогите  мне в решении моей проблемы ... у меня задание ... вычислитьнаибольшую разность порядковых номеров наибольшего и наименьшего элементов массива используя рекурсию ..... проблема в том  что  программа  видимо не правильно  считывает  данные  .... в ходе программы я проверяю на наличие одинаковых элементов ....  ии вот сдесь  по моему мнению происходит  подвох ... не поможете разобраться ... буду очень признателен...пррограмма работает и находит разность элементов правильно ... но она не является наибольшей разностью .... прошу если не сложно указать мне на ошибку
 К вопросу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки вопроса) Приложение:Переключить в обычный режим unit Unit1; interface uses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, StdCtrls; type  TForm1 = class(TForm)    Button1: TButton;    Edit1: TEdit;    Label1: TLabel;    Label2: TLabel;    Button2: TButton;    Label3: TLabel;    procedure Button1Click(Sender: TObject);    procedure Button2Click(Sender: TObject);  private    { Private declarations }  public    { Public declarations }  end; var  Form1: TForm1;  NumItems: integer; implementationtypeTIntArray = array[1..1000000] of integer;PIntArray = ^TIntArray;varItems: PIntArray; {$R *.dfm} var w:integer;beginif k>1 then  begin  w:=IndMax(k-1);     IndMax:=w    else    IndMax:=k;  endelseIndMax:=1;end;  var w:integer;beginif k>1 then  begin  w:=IndMin(k-1);     IndMin:=w    else    IndMin:=k;  endelseIndMin:=1;end; procedure TForm1.Button1Click(Sender: TObject);varI: Integer;Txt: String;begin  Txt:='';  for i:=1 to NumItems do  begin     Txt:=Txt+IntToStr(Items^[i])+' ';  end;Label1.Caption:=Txt;end; procedure TForm1.Button2Click(Sender: TObject);var i,j,k,z,q,w,p:integer;     beginlabel2.Caption:='';j:=0;   for i:=1 to NumItems do  begin       GetMem(MaxItems,j*SizeOf(integer));    MaxItems^[j]:=i;    end;       GetMem(MinItems,k*SizeOf(integer));    MinItems^[k]:=i;    end;  end;  while q<>0 dofor i:=1 to j do  begin    for z:=1 to k do       q:=q-1;  end;  end;
|  |   Вопрос задал: Ruslan1993 (статус: Посетитель)Вопрос отправлен: 6 июня 2011, 16:18
 Состояние вопроса: решён, ответов: 0.
 |  
 Мини-форум вопросаВсего сообщений: 2; последнее сообщение — 7 июня 2011, 00:58; участников в обсуждении: 1. 
|   | Ruslan1993 (статус: Посетитель), 7 июня 2011, 00:58 [#1]:вопрос  решен собственными условиями ... тема закрыта ))) извините за беспокойство |  
|   | Ruslan1993 (статус: Посетитель), 7 июня 2011, 00:58 [#2]:ой усилиями |  7 июня 2011, 00:59: Статус вопроса изменён на решённый (изменил автор вопроса — Ruslan1993): решил сам Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |