![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
1.Определить имеется ли среди чисел a,b,c хотя бы одна пара взаимно противоположных чисел.
2.Разделить массив D(18) на 2 части,поместив в первую элементы больше среднего арифметического их суммы,а во вторую меньше.(MEMO). Ребят решите пожалуйста.Заранее спасибо! Последний раз редактировалось skvot, 26.04.2009 в 19:24. |
|
#2
|
||||
|
||||
|
Если объясните, что такое взаимно противоположных чисел?
|
|
#3
|
|||
|
|||
|
1. Пусть числа берутся из полей Edit.
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
a, b, c: Integer;
sum: Integer;
begin
a := StrToInt(Edit1.Text);
b := StrToInt(Edit2.Text);
c := StrToInt(Edit3.Text);
sum := a + b + c;
if (sum = a) or (sum = b) or (sum = c) then
ShowMessage('Opposite numbers present!')
else ShowMessage('Opposite numbers do not present!');
end;2. Если правильно поняла, нужно поместить результат в Memo? Пусть в первую строчку помещаются числа меньше среднего, в нижнюю — больше среднего... Код:
procedure TForm1.Button2Click(Sender: TObject);
const
numbers: array[0..17] of Integer = (0, 5, 45, 6, 5, 545, 455, 10545, 46,
11, 448, 887, 548, 1000, 5455, 8, 584, 454);
var
Average: Real;
i: Byte;
begin
Average := 0;
for i := 0 to 17 do Average := Average + numbers[i];
Average := Average / 18;
Memo1.Lines.Clear;
Memo1.Lines.Add(''); Memo1.Lines.Add('');
for i := 0 to 17 do
if numbers[i] < Average then
Memo1.Lines.Strings[0] := Memo1.Lines.Strings[0] + IntToStr(numbers[i]) + '; '
else
Memo1.Lines.Strings[1] := Memo1.Lines.Strings[1] + IntToStr(numbers[i]) + '; ';
end; |