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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.02.2008, 18:26   #1
Nikki
Новичок
Джуниор
 
Регистрация: 20.02.2008
Сообщений: 2
По умолчанию Функция с массивами

F=(min(b1..bn)+min(c1..cn),если|min (a1..ak)|>10)/(1+min(c1..cn)*min (c1..cn),если |min(a1..ak)|<=10).
Пожалуйста!
Nikki вне форума Ответить с цитированием
Старый 20.02.2008, 18:42   #2
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

В чем проблема-то? Создаешь три массива a:array[1..k]; b,c:array[1..n];
Находишь amin,bmin,cmin. Если abs(amin)>10, подставляешь их в одну формулу, else-в другую формулу. Выводишь результат и все.
puporev вне форума Ответить с цитированием
Старый 20.02.2008, 21:29   #3
SNUPY
Форумчанин
 
Регистрация: 15.02.2008
Сообщений: 621
По умолчанию

Вот держи
Код:
Var 
  a,b,c,:array of real;
  n, k:cardinal;
  F:Real;
Function Min(Mas: array of real):real;
var i:Cardinal;
begin
  if Length(Mas)=0 then
    begin
      Result:=0;
      Exit;
    end;
  result:=Mas[0];
  for i:=1 to length(Mas)-1 do
    begin
      If Result>Mas[i] then Result:=Mas[i];
    end;
end;

Procedure ReadArray(Mas: array of real);
var i:cardinal;
begin
   if length(Mas)=0 then Exit;
   For i:=0 to Length(Mas)-1 do
   begin
      readln(Mas[i]);
   end;
end;

begin
  writeln('b, c count?');
  readln(n);
  setlength(b, n);
  setlength(c, n);
  ReadArray(b);
  ReadArray(c);
  writeln('a count?');
  readln(k)
  setlength(a, k);
  ReadArray(a);
  if ABS(Min(a))>10 then
     F:=(Min(b)+Min(c))
  else 
     F:=(1+Min(c)*Min(c));
  write(F);
  Readln;
end;
Помог? Ну так нажми на весы!
SNUPY вне форума Ответить с цитированием
Старый 21.02.2008, 11:55   #4
Nikki
Новичок
Джуниор
 
Регистрация: 20.02.2008
Сообщений: 2
По умолчанию

В условии вчера немного опечаталась.Все три массива имеют различную размерность.
Я делаю так:
const k=2;m=3;n=4;
var a:array [1..k] of real;
b:array[1..m] of real;
c:array [1..n] of real;
var F:real;
function min (mas:array of real):real;
var i:integer;
begin
min:=mas[1];
for i:=1 to ...(до чего?) do
begin if mas[i]<min then min:=mas[i]; end; end; и тд.
Можно быстрее.
Nikki вне форума Ответить с цитированием
Старый 21.02.2008, 12:43   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
for i:=1 to ...(до чего?) do
for i:=1 to high(mass) do
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа с массивами mager JavaScript, Ajax 5 27.08.2008 22:02
Работа с массивами в C# MaskEdit Общие вопросы .NET 3 17.05.2008 17:59
Работа с массивами DeN1308 Помощь студентам 3 09.11.2007 11:50
одна функция потока, а другая функция - член класса запускающего этот поток Дмитрий_Ч Общие вопросы C/C++ 2 27.09.2007 08:50