![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Нужна помощь в создании небольшой программы в Delphi.
В задании нужно вывести числа из текстового файла в Memo, сформировать из них вещественный массив и найти промежутки монотонности. В программировании не сильна. Возникла проблема на стадии формирования массива. Не понимаю, где ошибка. Зарнее спасибо |
#2
|
||||
|
||||
![]() Не задан размер массива, делается это так
Код:
SetLength(A, Memo1.Lines.Count); Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
Christina (01.05.2013)
|
#3
|
|||
|
|||
![]() Количество промежутков монотонности нашла. А как вывести сами промежутки (наименьшее и наибольшее число из каждого промежутка)?
Код:
procedure TForm1.Button2Click(Sender: TObject); var col,i:integer; A: array of integer; bolx,boln:boolean; begin for i:=0 to Memo1.Lines.Count-1 do begin SetLength(A, Memo1.Lines.Count); A[i]:= StrToInt(Memo1.Lines.strings[i]); boln:=false; bolx:=false; col:=0; end; for i:=2 to Memo1.Lines.Count do begin if (a[i]< a[i-1])and (not bolx) then begin inc(col); bolx:=true; end; if a[i]>= a[i-1]then bolx:=false; if (a[i]> a[i-1])and (not boln) then begin inc(col); boln:=true; end; if a[i]<= a[i-1]then boln:=false; end; Edit1.Text:=IntToStr(col); end; end. Последний раз редактировалось Christina, 01.05.2013 в 20:37. |
#4
|
||||
|
||||
![]() Размерность массива задаётся один раз (конечно, если только не нужно его изменять в процессе), нужно вынести SetLength из цикла и поставить первой строчкой сразу после начального begin.
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
Christina (03.05.2013)
|