|
|
Регистрация | << Правила форума >> | 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
|
|||
|
|||
прога заработала, но не выбирает, посморите я правильно там сохранение написал?
|