![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#16
|
||||
|
||||
|
Цитата:
от 2 до 4 - ищем 2,3,4-й макс элементы. |
|
#17
|
|||
|
|||
|
да и вправду прога работает классно, только как ее под мою подогать, что-то не работает, ну работает только не правильно, не могли бы вы посмотреть, куда там в мой код её пихать, а аут ткст там никчему
|
|
#18
|
||||
|
||||
|
Цитата:
Вот результат работы кода поиска 4-х макс чисел: Код:
f(0)= 2 f(1)= 0,417989306472134 f(2)= 1,26268998307999 f(3)= 0,935631331620883 f(4)= 0,965967190598085 f(5)= 1,06631394169678 f(6)= 0,936925381381415 f(7)= 1,04591431523034 f(8)= 0,972717029063682 f(9)= 1,01271348831319 f(10)= 0,996517737823659 f(11)= 0,998780089948424 f(12)= 1,00286438423506 f(13)= 0,997171793332827 f(14)= 1,00210399541441 f(15)= 0,998723996135607 f(16)= 1,00061259444397 f(17)= 0,999816191563822 f(18)= 0,999959863243684 f(19)= 1,00012296064111 f(20)= 0,999873519224634 f(21)= 1,00009622435484 f(22)= 0,999940454857293 f(23)= 1,00002939960153 f(24)= 0,999990476542714 f(25)= 0,999998891055634 f(26)= 1,0000052410023 f(27)= 0,999994359332404 f(28)= 1,00000439197952 f(29)= 0,999997227294432 f(30)= 1,00000140577053 f(31)= 0,999999513723931 f(32)= 0,999999982946152 f(33)= 1,00000022155005 f(34)= 0,999999749184651 ========================= max #1 = 2 /0 max #2 = 1,26268998307999 /2 max #3 = 1,06631394169678 /5 max #4 = 1,04591431523034 /7 Последний раз редактировалось Konrad, 26.12.2010 в 21:34. |
|
#19
|
|||
|
|||
|
да в моей. я когда вставляю, он не находит максимальных, а что-то непонятное делает, можете в мой код вставить свой - правильно
|
|
#20
|
||||
|
||||
|
вставить нужно перед
PHP код:
Ах да... и его можно не весь скопировать, ту часть которая выводит в мемо можно пропустить. Сохранение массива мах написал? я надеюсь) Последний раз редактировалось Konrad, 26.12.2010 в 21:45. |
|
#21
|
|||
|
|||
|
пишет ошибку где строчка
Line.AddArray(In_Data); [Error] main.pas(106): Incompatible types: 'Array' and 'dynamic array' |
|
#22
|
||||
|
||||
|
Цитата:
|
|
#23
|
|||
|
|||
|
как у вас. так даже если я забаню график то оно не сортирует, вы можете показать как должно быть? пожалуйста, вам то всего ничего. в мой код вставить в свой
|
|
#24
|
||||
|
||||
|
Цитата:
И задай те переменные которые не заданы. Ну и вставь сохранение массива. |
|
#25
|
|||
|
|||
|
так я это и делаю, не катит, ну пожалуйста, я вас очень прошу, все задал. все так делаю
|
|
#26
|
||||
|
||||
|
Цитата:
Закинь сюда код который получился, экстрасенсорикой заниматься как-то в лом. |
|
#27
|
|||
|
|||
|
Код:
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; |
|
#28
|
|||
|
|||
|
ну что вы посмотрели?
|
|
#29
|
||||
|
||||
|
In_Data:array of real;
смени на In_Data:array of double; |
|
#30
|
|||
|
|||
|
прога заработала, но не выбирает, посморите я правильно там сохранение написал?
|