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

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

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.11.2015, 02:35   #1
Alyona_Dm
Новичок
Джуниор
 
Регистрация: 24.11.2015
Сообщений: 3
По умолчанию pow: DOMAIN error Borland C++

Выдает ошибку pow: DOMAIN error и неправильно считает функцию. Вообще без понятия что это и что с этим делать. Помогите пожалуйста новичку.

Код:
double G()
{float s=0;
for(int i=0;i<n;i++)
s*=pow(x[i],2);
float p=1;
for(int i=1;i<n;i++)
p*=x[i-1];
return pow(fabs(s*p),1/3);
}

Последний раз редактировалось Alyona_Dm; 24.11.2015 в 02:53.
Alyona_Dm вне форума Ответить с цитированием
Старый 24.11.2015, 09:46   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

А полностью код?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.11.2015, 20:55   #3
Alyona_Dm
Новичок
Джуниор
 
Регистрация: 24.11.2015
Сообщений: 3
По умолчанию

Код:
#ifndef KursH
#define KursH
#include <math.h>
//---------------------------------------------------------------------------

const int n=4;
const int m=4;
typedef float mass[n][m];
mass a;
float x[n];
int i,j;

void matrix()
{for(int i=1;i<=n;i++)
   for (int j=1;j<=m;j++)
      a[i-1][j-1]=(3+i)/(4.0+j)*2*pow(i,(-2))+4*(i/(j+1.0));
}

void vector()
{ float p=1;
float min;
int jmin;
for (int i=0;i<n;i++)
{p*=a[i][1];
min=p;
jmin=0;
}
for(int j=1;j<m;j++)
{p=1;
for(int i=0;i<n;i++)
if(a[i][j]>0)
{p*=a[i][j];
}

if(p<min)
{jmin=j;
min=p;
}
}

for(int i=0;i<n;i++)
x[i]=a[i][jmin];
}

double G()
{float s=0;
for(int i=0;i<n;i++)
s+=pow(x[i],2);
float p=1;
for(int i=1;i<n;i++)
p*=x[i-1];
return pow(fabs(s*p),1/3);
}


#endif
Две первые подпрограммы работают правильно
Alyona_Dm вне форума Ответить с цитированием
Старый 24.11.2015, 21:10   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Эт чего? О_о
А главная программа где?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.11.2015, 17:41   #5
Alyona_Dm
Новичок
Джуниор
 
Регистрация: 24.11.2015
Сообщений: 3
По умолчанию

Код:
#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
#include "Kurs.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
// Процедура создания формы.
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)
{
StringGrid1->Cells[0][0]=" A";
for(int i; i<=n; i++)
{
  StringGrid1->Cells[i][0]=IntToStr(i)+"-ая строка";
  StringGrid1->Cells[0][i]=IntToStr(i)+"-ий столбец";
}
}
//---------------------------------------------------------------------------

// Процедура обработки кнопки "Вычисление матрицы".

void __fastcall TForm1::Button1Click(TObject *Sender)
{
matrix();
for (int i=0;i<n;i++) // Перебираем строки массива.
   for (int j=0;j<m;j++) // Перебираем столбцы массива.

   // Выводим значение массива в компонент округленные до третьего
    // разряда после запятой.

     StringGrid1->Cells[j+1][i+1]=FloatToStrF(a[i][j],ffFixed,5,3);

   // Делаем видимыми или активными следующие элементы формы:
   N5->Enabled=true;          // пункт меню "Вычисление вектора",
   Button2->Visible=true;    // кнопка "Вычисление вектора",
   StringGrid1->Visible=true; // таблица элементов матрицы,
   Label1->Visible=true;   // надпись "Элементы матрицы".
}
//---------------------------------------------------------------------------


// Процедура обработки кнопки "Вычисление вектора".
void __fastcall TForm1::Button2Click(TObject *Sender)
{
  vector();
 Memo1->Clear();          // очистка компонента
   for (i =0; i<n; i++)        // начало цикла за индексами массива
     Memo1->Lines->Add(FormatFloat("0.00", x[i]));  // вывод одного значения массива


   // Делаем видимыми или активными следующие элементы формы:
    N6->Enabled=true;    // пункт меню "Построение графика",
    N7->Enabled=true;      // пункт меню "Вычисление функции".
   Button3->Visible=true;  // кнопка "Построение графика X[i]",
   Button4->Visible=true; // кнопка "Вычисление функции",
   Memo1->Visible=true;  // список элементов вектора,
   Label2->Visible=true;// надпись "Элементы вектора".
}
 //---------------------------------------------------------------------------
 // Процедура обработки кнопки "Построение графbка X[i]".
    void __fastcall TForm1::Button3Click(TObject *Sender)
{
 for (i=0; i<n; i++)      // Перебираем элементы массива.
     Series1->AddXY(i,x[i]);   // Построение графика.

     Chart1->Visible=true; // График зависимости x[i].


}
//---------------------------------------------------------------------------
// Процедура обработки кнопки "Вычисление функции".
void __fastcall TForm1::Button4Click(TObject *Sender)
{
   Edit1->Text=FloatToStr(G());// Выводим значение функции в компонент.

   // Делаем видимыми или активными следующие элементы формы:
   Edit1->Visible=true;   // значение функции,
   Label3->Visible=true; // напись "Значение функции".
}
//---------------------------------------------------------------------------
// Процедура обработки пункта меню "О программе".
void __fastcall TForm1::N3Click(TObject *Sender)
{
ShowMessage("Вариант 10");
}
//---------------------------------------------------------------------------
// Процедура обработки пункта меню "Выход".
void __fastcall TForm1::N2Click(TObject *Sender)
{
Form1->Close();
}
Alyona_Dm вне форума Ответить с цитированием
Старый 25.11.2015, 18:49   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Уфуфуф... Билдер мне и проверить не на чем...
Знаеш, я бы на твоем месте поставил точку прерывания на return pow(fabs(s*p),1/3); и посмотрел чему равно P и S... А то может они там заоблачные...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.11.2015, 18:53   #7
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,964
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Уфуфуф... Билдер мне и проверить не на чем...
У меня есть и пятый и шестой. Пусть весь проект скинет. В том, что он привёл, одни обработчики. Без файла проекта и без форм, вообще не разобраться.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
error pow: идентификатор не найден Faton 11 Общие вопросы C/C++ 2 27.11.2012 22:17
Запись в таблицу name@domain.ru Авторитет PHP 3 27.09.2012 20:58
выдает ошибку error C2660: 'pow' : function does not take 1 parameters serzav5 Общие вопросы C/C++ 4 23.01.2012 00:45
Выдаёт ошибку: acos DOMAIN error,полсе нажатия окей,ещё одну ошибку pow OWERFLAW ERROR prikolist Общие вопросы C/C++ 4 10.04.2009 20:27
login@domain.com;pass она должна брать сначала только "login" потом "domain.com" и на последок "pass" AquaKlaster Общие вопросы Delphi 4 05.04.2009 17:31