IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Нахождение максимального угла, C++
сообщение
Сообщение #1


Гость






Здравствуйте! Помогите пожалуйста решить следующую задачу:
Реализовать набор подпрограмм для выполнения следующих операций над векторами: а) сложение; б) вычитание; в) скалярное умножение векторов; г) умножение вектора на число; д) нахождение длины вектора.
1) Дан массив A – массив векторов. Отсортировать его в порядке убывания длин векторов.
2) С помощью датчика случайных чисел сгенерировать 2N целых чисел. N пар этих чисел задают N точек координатной плоскости. Вывести номера тройки точек, которые являются координатами вершин треугольника с наибольшим углом.
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






Никак не могу выловить ошибку в программе.
Floating point error: Domain.
Это, судя по хелпу, ошибка которая возникает, когда функция бесконечна (т.е. деление на 0 например).
#include <iostream.h>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
int sloj(int x1,int y1,int x2,int y2,int pr)
{
int c[2];
c[1]=x1+x2;
c[2]=y1+y2;
if (pr==0)
{
return c[0];
}
else
{
return c[1];
}
}
int vich(int x1,int y1,int x2,int y2,int pr)
{
int c[2];
c[1]=x1-x2;
c[2]=y1-y2;
if (pr==0)
{
return c[0];
}
else
{
return c[1];
}
}

int numum(int x1,int y1,int nu,int pr)
{
int c[2];
c[1]=x1*nu;
c[2]=y1*nu;
if (pr==0)
{
return c[0];
}
else
{
return c[1];
}
}
double dlin(int x1,int y1)
{
int a,b,c;
a=pow(x1,2);
b=pow(y1,2);
c=sqrt(a+b);
return c;
}

double skal(int x1,int y1,int x2,int y2)
{
double sk;
sk=x1*x2+y1*y2;
return sk;
}


void main ()
{
int n,i,j,k,z;
int a[5][2],tx,ty,tx2,ty2,tx3,ty3,t1,t2,t3,t4,t5,t6,tmax,b[3]; double tt;
clrscr();
cout << "Enter number of pair points (max 5): ";
cin >> n;
tmax=(-2);
for (i=0;i<=n-1;i++)
{
a[i][0]=(rand() % 10 >0 );
a[i][1]=(rand() % 10 >0);
}
for (i=0;i<=n-1;i++)
{
for (j=i+1;j<=n-1;j++)
{
for (k=j+1;k<=n;k++)
{
t1=a[j][0]-a[i][0];
t2=a[j][1]-a[i][1];
t3=a[k][0]-a[j][0];
t4=a[k][1]-a[j][1];
t5=a[i][0]-a[k][0];
t6=a[i][1]-a[i][1];
if (dlin(t1,t2) == 0)
{
i=i+1;
}
b[0]=skal(t1,t2,t3,t4)/(dlin(t1,t2)*dlin(t3,t4));
b[1]=skal(t3,t4,t5,t6)/(dlin(t3,t4)*dlin(t5,t6));
b[2]=skal(t5,t6,t1,t2)/(dlin(t5,t6)*dlin(t1,t2));
tt=(-2);
for (z=0;z<=1;z++)
{
if (b[z]<tt) { tt=b[z]; }
}

if (tt<tmax)
{tx=a[i][0];
ty=a[i][1];
tx2=a[j][0];
ty2=a[j][1];
tx3=a[k][0];

ty3=a[k][1];

}


}
}
}
cout << "\n1)X: " << tx << " Y: " << ty;
cout << "\n2)X: " << tx2 << " Y: " << ty2;
cout << "\n3)X: " << tx3 << " Y: " << ty3;
getch();
}
 К началу страницы 
+ Ответить 

Сообщений в этой теме
-ZoLToN-   Нахождение максимального угла   15.12.2006 21:11
мисс_граффити   в чем проблема? что пробовал делать?   19.12.2006 2:24
Гость   Основная проблема состоит именно в алгоритме поиск…   20.12.2006 20:57
мисс_граффити   а какие данные и как ты пытаешься передать? судя п…   21.12.2006 0:58
-ZoLToN-   Наколбасил следующее: #include <iostream.h> …   22.12.2006 23:34
-ZoLToN-   Без аккаунта нельзя редактировать посты! Одну …   22.12.2006 23:38
volvo   У тебя в заголовке темы написан язык С++? Значит, …   22.12.2006 23:47
мисс_граффити   как вариант: void sloj(int x1,int y1,int x2,int y…   23.12.2006 0:12
-ZoLToN-   У тебя в заголовке темы написан язык С++? Значит,…   23.12.2006 0:27
volvo   Чем решение trminator-а не устраивает? (или ты реш…   23.12.2006 0:38
-ZoLToN-   Спасибо за помощь!   23.12.2006 1:20
-ZoLToN-   Никак не могу выловить ошибку в программе. Floatin…   24.12.2006 14:01
-ZoLToN-   Подскажите пожалуйста если кто видит ошибку.   24.12.2006 14:02
volvo   Добавь строку: if (dlin(t1,t2) == 0) { …   24.12.2006 14:14
-ZoLToN-   А есть какие-нибудь идеи как это исправить?   24.12.2006 14:45
мисс_граффити   по смыслу: если вектор вырождается в точку, чем ра…   24.12.2006 18:34


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.03.2024 2:55
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name