![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Для заданного целочисленного массива вычислить среднее из элементов, больших 50.Если таких элементов нет, вывести в компонент вывода строку (Элемент не найден). И надо обязательно использовать компонент memo. Помогите доделать завтра надо сдать((((((
Код:
procedure TForm1.Button1Click(Sender: TObject); var k,sum:real; i,a,b:integer; a:array [1..100] of integer; begin k:=0; sum:=0; for i := 1 to a do begin if (b>50) then begin k:=k+1; sum:=sum+b; end; end; if (sum=0) then else end; end. |
|
#2
|
||||
|
||||
|
Код оформляйте тегом CODE!
|
|
#3
|
||||
|
||||
|
На форму нужно кинуть кнопку и мемо
Код:
uses Math;
...
procedure TForm1.Button1Click(Sender: TObject);
var
a : array [1..100] of integer;
tmp: array of double;
i,b: integer;
begin
Memo1.Clear;
Randomize;
for i := 1 to 100 do
begin
a[i]:= Random(100);
Memo1.Lines.Add(IntToStr(a[i]));
end;
Memo1.Lines.Add('');
b:= 0;
for i := 1 to 100 do if a[i] > 50 then inc(b);
if b > 0 then SetLength(tmp, b) else
begin
Memo1.Lines.Add('Элемент не найден');
Exit;
end;
b:= 0;
for i := 1 to 100 do if a[i] > 50 then
begin
tmp[b]:= a[i];
inc(b);
end;
Memo1.Lines.Add(FloatToStr(Mean(tmp)));
end; |
|
#4
|
|||
|
|||
|
Alegun, ну ты совсем обленился, в лоб решаешь
![]() 2й и 3й циклы можно ж объединить: Код:
s := 0;
b := 0;
for i := 1 to 100 do
if a[i] > 50 then
begin
s := s + a[i];
inc(b);
end;
if b = 0
then memo1.lines.add('Элемент не найден')
else memo1.lines.add(FloatToStr(s/b)); |
|
#5
|
|||
|
|||
|
Спасибо огромное!!!!!!!
![]() |