Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Поиск максимальных трех элементов в массиве [D7]


radiokarazinec ©   (2010-12-26 13:39:00) 

надо найти в этом массиве 3 наибольших и записать их в текстовый файл

procedure TfrmMain.Button1Click(Sender: TObject);
var
 // число точек в исходных данных и в результатах
 In_N : Integer;
 // массив с исходными данными
 In_Data: array of Double;
 // переменная для записи в файл
DataFile : TextFile;
 // переменная цикла
 i: Integer;
 // линия для графика - если нужна
 Line : TLineSeries;
begin
 // получение числа точек в исходных данных с формы
 In_N := 35;
 ////////////////////////////////////////// In_N :=StrToInt(edValN.Text);
 // получение параметра - пример
 ///////////////////Scale := StrToFloat(eScale.Text);
 // создаем массив данных
 // вначале задаем размер массива
 SetLength(In_Data,In_N);
 // задаем элементы массива
 for i := 0 to In_N - 1 do
     In_Data[i] := Cos(i*In_N)*Exp(-i*0.44)+1;
   MemoOut.Clear;
 // и покажем новые
 for I := 0 to In_N - 1 do
     // Format() - преобразование числа в строку по указанному
     // формату. Подробнее и с примерами в справке Delphi - F1.
     MemoOut.Lines.Add(Format('%8.3f',[In_Data[i]]));
 // *** добавим график - если нужно
 // уберем старый график
 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);   //стояло еще (,Scale)
 // размер массива чисел
 Writeln(DataFile,In_N);
 // каждое значение пишем в новую строку
 for i := 0 to In_N - 1 do
 Writeln(DataFile,In_Data[i]);
//закрываем файл - сохраняем его
 CloseFile(DataFile);
 DeleteFile('out.txt');

end;


sniknik   (2010-12-26 13:49:00) [1]

спам наказуем.


KilkennyCat   (2010-12-26 13:45:00) [2]

скучно. даже для "орешника" не катит.


Наверх

Титульная страница Поиск, карта сайта Написать письмо