![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Программа для нахождение среднего арифметического. невыполняет
Код HTML:
|
#2
|
|||
|
|||
![]() Правильная ошибка. Ты производишь операцию деления, результатом которой будет число с плавающей точкой, но хочешь пометить результат в тип Integer. Либо используй функцию Int, либо опиши переменную s как Double.
|
#3
|
|||
|
|||
![]() можно подробнее...
выставил double, неработает |
#4
|
|||
|
|||
![]() Код:
var Form1: TForm1; N, i, p ,s: integer; A: array [1..100] of integer; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var i : Integer; begin N := StrToInt(InputBox('5.16','Введи количество чисел','')) ; p:= 0; for i:=1 to n do begin A[i]:= StrToInt(InputBox('5.16','Введи числo','')) ; p := p + A[i] ; end; s := Round(p / n); // Сдесь ошибка// уже нет =) Edit1.Text:= FloatToStr(s); end; end. 1. ';' после 'end'; 2. Приравнивание Integer Real'ное ( ![]() 3. И переменная в цикле должна быть локальной. Round - (насколько я знаю) округляет real до Integer Можно так же через div: Код:
s := p div n; Код:
var Form1: TForm1; N, i, p : Integer; s: Real; A: array [1..100] of integer; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var i : Integer; begin N := StrToInt(InputBox('5.16','Ââåäè êîëè÷åñòâî ÷èñåë','')) ; p:= 0; for i:=1 to n do begin A[i]:= StrToInt(InputBox('5.16','Ââåäè ÷èñëo','')) ; p := p + A[i] ; end; // А ТУТ!!! s := p / n ; // ОШИБКА НЕ ТУТ!!! Edit1.Text:= FloatToStr(s); end; end. ![]() P.s. ...на всяк случай если в инпут бокс нажать "Отмена" ниче хорошего не выйдет!... Я ни в чем никогда не уверен... И в этом тоже... ![]() Последний раз редактировалось Interface, 19.06.2009 в 20:29. Причина: Добавил коментарий |
#5
|
|||
|
|||
![]() Спасибо... как меня это ";" достали. после VB сложно переходить на др. системы
|