Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.03.2011, 21:18   #1
denislacoste
 
Регистрация: 31.03.2011
Сообщений: 3
По умолчанию функция расчёта для массивов - проверить решение

ребят,можете проверить? заранее благодарен.

вот условие через которое у меня уже написана программа.но мне надо проверить уже написанную программу и убрать там лишнее,тоесть непонятный параметр t=7* появился(который не нужен):

¦min(Bi) max(Ci)
¦------- +----------- при min(Ai)<max(Bi)
¦max(Ai) min(Bi+Ci)
t= 7*
¦ max(Bi+Ci)+min(Ci) иначе

А ВОТ УСЛОВИЕ ПРАВИЛЬНОЕ по которому надо написать программу:
¦min(Bi) max(Ci)
¦------- +----------- при min(Ai)<max(Bi)
¦max(Ai) min(Bi+Ci)

¦ max(Bi+Ci)+min(Ci) иначе

вот само решение:
Код:
program podprogramma;
uses crt;
const n=50;
type
 Arr=array[1..n] of integer;
 T_Arr=^Arr;
var
 A,B,C:Arr;
 t:real;

procedure Vvod_Arr(var D:Arr);
 var i:integer;
 begin
  for i:=1 to n do
  begin
   D[i]:=random(50)+1;
   Write(D[i]:5);
  end;
  WriteLn;
  WriteLn;
 end;

function My_Min(D:Arr):integer;
var
 i,m:integer;
begin
 m:=D[1];
 for i:=2 to n do
  if (m>D[i])
   then m:=D[i];
 My_min:=m;
end;

function My_Max(D:Arr):integer;
var
 i,m:integer;
begin
 m:=D[1];
 for i:=2 to n do
  if (m<D[i])
   then m:=D[i];
 My_max:=m;
end;

procedure Sum_Arr(D1,D2,D:Arr);
var
 i:integer;
begin
 for i:=1 to n do
  D[i]:=D1[i]+D2[i];
end;

function TT(AA,BB,CC:Arr):real;
var
 BC:Arr;
begin
 Sum_Arr(AA,BB,BC);
 if(My_min(AA)<My_Max(BB))AND(My_Min(BC)<>0)
  then tt:=My_Min(BB)/My_Max(AA)+My_Max(CC)/My_min(BC)
  else tt:=My_max(BC)+My_min(CC);
end;

begin
 clrscr;
 randomize;
 WriteLn('Array A:');
 Vvod_Arr(A);
 WriteLn('Array B:');
 Vvod_Arr(B);
 WriteLn('Array C:');
 Vvod_Arr(C);
 t:=7*TT(A,B,C);
 WriteLn('Rezult T = ',t:6:4);
 ReadLn;
end.
с

___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 01.04.2011 в 09:27.
denislacoste вне форума Ответить с цитированием
Старый 31.03.2011, 21:21   #2
denislacoste
 
Регистрация: 31.03.2011
Сообщений: 3
По умолчанию

условие коряво написал.вот:
Код:
¦min(Bi)      max(Ci)
¦------- + -----------  при min(Ai)<max(Bi)
¦max(Ai)     min(Bi+Ci)

¦ max(Bi+Ci)+min(Ci) иначе.

Последний раз редактировалось Serge_Bliznykov; 01.04.2011 в 09:25.
denislacoste вне форума Ответить с цитированием
Старый 01.04.2011, 08:10   #3
BoozZzilla
Форумчанин
 
Аватар для BoozZzilla
 
Регистрация: 26.01.2009
Сообщений: 125
По умолчанию на вскидку

как всегда, updated:
так мне кажется получше:
Код:
function My_Max(D:Arr):integer;
var
i:integer;
begin
Result:=D[0];
If Length(D)>1 then
for i:=1 to High(D) do
if Result<D[i] then Result:=D[i];
end;
- не надо использовать лишнюю переменную, складывайте сразу в результат.

Также я не понял зачем в тексте фигурирует константа n

И собсна не понял задания

Последний раз редактировалось BoozZzilla; 01.04.2011 в 08:22.
BoozZzilla вне форума Ответить с цитированием
Старый 01.04.2011, 11:05   #4
denislacoste
 
Регистрация: 31.03.2011
Сообщений: 3
По умолчанию

блин я само задание не написал) Даны три массива из 50 элементов. Вычислить: ну и вычислить надо то что сверху уже писал)
denislacoste вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Интересный пример для расчёта контрольной суммы. ATAMAN200 Общие вопросы C/C++ 0 05.10.2010 19:17
Программу для расчёта площади окружности Rostbook Помощь студентам 14 28.06.2009 00:54
Нужна программа для расчёта кофигурации обогрева Shtiever Фриланс 3 07.06.2009 20:34
Помогите с алгоритмом для расчёта контрольной суммы Andrej_Svininykh Общие вопросы по Java, Java SE, Kotlin 0 17.10.2008 21:17