Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Помогите решить задачу через условный оператор, оченнь надо

Автор: Bazz 19.02.2007 19:09

[font=Times New Roman]
Дано 4 числа.Если сума найбольшего и найменшего больше суммы 2 - х других чисел, тогда найти среднее геометрическое всех чисел, в другом случае найти их среднее арифметическое.

Помогите очень надо!!! Срочно.

Автор: Артемий2 19.02.2007 19:45

Числа вводятся? smile.gif Они в массиве?

Автор: Артемий2 20.02.2007 17:14

Вот посмотри по среднему арифметическому:
(и кстати, скажи формулу нахождения среднего геометрического..)

var
arr:array [1..4] of Integer;
min,max,i,o: Integer;
_result: real;
other: array [1..2] of integer;
begin
o:=0;
writeln('Vvedite chisla: ');
for i:=1 to 4 do begin
writeln('Vvedite chislo ',i);
readln(arr[i]);
end;
min:=arr[1];
max:=arr[1];
for i:=1 to 4 do begin
if arr[i]<min then min:=arr[i];
if arr[i]>max then max:=arr[i];
end;
repeat
o:=o+1;
if arr[o]=min then arr[o]:=0;
if arr[o]=max then arr[o]:=0;
until o=4;
for i:= 1 to 4 do begin
if arr[i]<>0then other[i]:=arr[i];
end;
if (min+max)>(other[1]+other[2]) then begin
_result:=((min+max+other[1]+other[2])/4);
end else writeln('I cant do it!');
writeln;
writeln(_result:3:2);
readln


Добавлено через 1 мин.
Если перемудрил, не сердись,сплю находу... smile.gif

Автор: compiler 20.02.2007 17:33

Цитата(Артемий2 @ 20.02.2007 12:14) *

и кстати, скажи формулу нахождения среднего геометрического..

среднее геометрическое n чисел, является корень n-ой степени из произведения этих чисел
Прикрепленное изображение

Автор: Артемий2 20.02.2007 21:43

Ну тогда так:

function kor(y:real;z:integer):real;
var z1,x:integer;
begin
z1:=z div 2;
for z1:=1 to z1 do begin
y:=sqrt(y);end;
kor:=y;
end;

И используй так:
if (min+max)>(other[1]+other[2]) then begin
_result:=kor(max*min*other[1]*other[2],4);
end else writeln('I cant do it!');


?