Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Qt
Войти
Регистрация
Восстановить пароль
 
zontik24
9 / 9 / 4
Регистрация: 14.06.2013
Сообщений: 386
1

Алгоритм триангуляции выводит одно и то же число

26.10.2015, 16:41. Просмотров 221. Ответов 3
Метки нет (Все метки)

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
   QVector<double> x(polygon.size());
   QVector<double> y(polygon.size());
 
    for(int i=0; i<polygon.size(); i++)
    {
        x.push_back(polygon[i].x());
        y.push_back(polygon[i].y());
    }
 
     double s;
 
     for(int i=0; i<polygon.size(); i++)
     {
         s = s + ((x[i]*y[i+1])-(x[i+1]*y[i]));
     }
 
    qDebug() << "area = " << s/2.0;
polygon - вектор точек, добавляющихся динамически


Отладка показывает число: "area = 6.6015e-318", какие точки бы не взял
0
Миниатюры
Алгоритм триангуляции выводит одно и то же число  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.10.2015, 16:41
Ответы с готовыми решениями:

Программа считывает с клавиатуры число N, L, K и выводит одно число.
Задача Leopold Кот Леопольд пошел на рыбалку и наловил рыбы. Каждую рыбу он...

Random всегда выводит одно и то же число
Всем пт! У меня следующая проблема: Данный код выводит всегда одно и то же...

Алгоритм триангуляции Делоне
Здравствуйте! У меня возник вопрос касательно итеративного алгоритма...

Рандом выводит всегда одно и тоже число
mass=rand(); всегда выводит число ниже, что делать? -842150451

Выводит одно число, вместо массива чисел(данных)
Доброго времени суток, возникла такая проблема: я написал програмку, которая...

3
zontik24
9 / 9 / 4
Регистрация: 14.06.2013
Сообщений: 386
26.10.2015, 16:57  [ТС] 2
Немного правил цикл, но все равно тоже самое
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
for(int i=0; i<polygon.size(); i++)
     {
         if(i == polygon.size()-1) {
             s = s + ((x[polygon.size()-1]*y[0])-(x[0]*y[polygon.size()-1]));
             qDebug() << "'" <<s;
         }
         else {
            s = s + ((x[i]*y[i+1])-(x[i+1]*y[i]));
            qDebug() << s;
         }
    }
Вывод:
1.3203e-317
1.3203e-317
' 1.3203e-317
area = 6.6015e-318

Подозреваю, что эти значения сидят изначально, но как от них избавиться - не знаю, так как чтобы были точки -их нужно нарисовать, а это число появляется даже если не рисую

Может у меня ошибка в основном выражении?
0
NoMasters
Псевдослучайный
1909 / 1120 / 90
Регистрация: 13.09.2011
Сообщений: 3,178
26.10.2015, 17:13 3
Стоит инициализировать s нулём.
0
zontik24
9 / 9 / 4
Регистрация: 14.06.2013
Сообщений: 386
26.10.2015, 19:26  [ТС] 4
тогда площадь = 0

Добавлено через 2 часа 8 минут
Кто-нибудь может помочь?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.10.2015, 19:26

Почему ответ не выводит матрицей, а выдает только одно число
Почему последние два ответа не выводит матрицей, а выдает только одно число?...

Почему то ввожу одно число и при этом выводит множества цифр?
using System; using System.Collections.Generic; using System.Linq; using...

Множества. выводит в возрастающем порядке все цифры, которые не входят ни в одно число
дана последовательность из n натуральных чисел.написать программу,которая...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru