Показать сообщение отдельно
  #27  
Старый 26.12.2010, 22:05
radiokarazinec@mail.ru radiokarazinec@mail.ru вне форума
Прохожий
 
Регистрация: 13.12.2010
Сообщения: 25
Репутация: 10
По умолчанию

Код:
procedure TfrmMain.Button1Click(Sender: TObject);
var
In_Data:array of real;
In_N,i,j:integer;
max:array[1..4] of real;
maxn:array[1..4] of integer;
 DataFile : TextFile;
  // переменная цикла
  // линия для графика - если нужна
  Line : TLineSeries;
begin
  // получение числа точек в исходных данных с формы
  In_N := 35;
  // создаем массив данных
  // вначале задаем размер массива
  SetLength(In_Data,In_N);
  // задаем элементы массива
  for i := 0 to In_N - 1 do
  begin
      In_Data[i] := Cos(i*In_N)*Exp(-i*0.44)+1;
    //MemoOut.Clear;
  // и покажем новые
      // Format() - преобразование числа в строку по указанному
      // формату. Подробнее и с примерами в справке Delphi - F1.
      MemoOut.Lines.Add(Format('%8.3f',[In_Data[i]]));
      end;

  // *** добавим график
  // уберем старый график
  ChartMain.SeriesList.Clear;
  // создадим новый
  Line := TLineSeries.Create(ChartMain);
  // присвоим значения Y координат
  Line.AddArray(In_Data);
  // изменим цвет и толщину линии
  Line.LinePen.Color := clBlue;
  Line.LinePen.Width := 1;
  // и выведем на форму
  ChartMain.AddSeries(Line);
  // свяжем переменную с файлом DataFile
 AssignFile(DataFile,'in.txt');
  // откроем для записи
 Rewrite(DataFile);
  // запись параметров
  Writeln(DataFile);
  // размер массива чисел
  Writeln(DataFile,In_N);
  // каждое значение пишем в новую строку
  for i:=1 to 4 do
maxn[i]:=0; 
max[1]:=In_Data[1];
for i := 0 to In_N - 1 do 
 begin
 if (max[1]<In_Data[i]) then 
 begin
  max[1]:=In_Data[i]; 
  maxn[1]:=i;
 end; 
 end;

for j:=2 to 4 do
begin
 max[j]:=0;
for i := 0 to In_N - 1 do
 begin
 if (max[j]<In_Data[i])and(In_Data[i]<=max[j-1])and(maxn[j-1]<>i) then
 begin
  max[j]:=In_Data[i];
  maxn[j]:=i;
 end;
 end;


end;
 for i := 0 to In_N - 1 do
  Writeln(DataFile,max[i]);
 //закрываем файл - сохраняем его
  CloseFile(DataFile);
  //DeleteFile('out.txt');

end;
Ответить с цитированием