Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 17.06.2015
Сообщений: 16

В чем причина ошибки компиляции в программе для определения площади треугольника?

28.01.2016, 11:08. Показов 1403. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вобщем, пишу программу на DevC++, которая по 3 точкам определяет площадь треугольника. Использую векторное произведение. При компиляции переносит в другой код и пишет кучу ошибок, буду благодарен если поможете. Код ниже:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include<iostream>
#include<fstream>
#include<vector>
#include<cmath>
 
 using namespace std;
 
    struct point 
    {
        int x;
        int y;
     };
    
    point distance(point xf, point yf)
    {
    point m;
    m.x=xf.x-yf.x;
    m.y=xf.y-yf.y;
    return m;   
     } 
 
    int main()
    {
        int i;
        float out;
        vector <point> p(3);
        point a,b;
        for(i=0;i<3;i++) cin >> p[i].x >> p[i].y;
        a=distance(p[0],p[1]);
        b=distance(p[0],p[2]);
        
        out = abs(a.x*b.y-a.y*b.x)/2;
        cout << out;
     }
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.01.2016, 11:08
Ответы с готовыми решениями:

В чем причина ошибки?
помогите разобраться почему выходит ошибка? #include &lt;iostream.h&gt; #include &lt;string.h&gt; #include &lt;conio.h&gt; #include...

В чем причина ошибки?
Код int main() { char arr; scanf(&quot;%s %s&quot;, &amp;arr, &amp;arr); printf(&quot;%s\n\n&quot;, arr);

В чем причина ошибки no match for?
Видает ошибку no match for 'operator=' in 'C = RyadokIdentifier::operator+(const RyadokIdentifier&amp;)((*(const RyadokIdentifier*)(&amp;...

10
 Аватар для ThePlague
104 / 104 / 99
Регистрация: 30.06.2015
Сообщений: 272
28.01.2016, 11:24
Yellove,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <iostream>
#include <fstream>
#include <vector>
#include <cmath>
 
using namespace std;
 
struct point
{
    int x;
    int y;
};
point distance(point xf, point yf)
{
    point m;
    m.x=xf.x-yf.x;
    m.y=xf.y-yf.y;
    return m;
}
int main()
{
    float out;
    vector<point> p;
    point a,b,tmp;
    for(int i=0;i<2;i++)
    {
        cin >> tmp.x >> tmp.y;
        p.push_back(tmp);
    }
    a = distance(p[0],p[1]);
    b = distance(p[0],p[2]);
    out = abs(a.x*b.y-a.y*b.x)/2;
    cout << out << endl;
}
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
28.01.2016, 11:24
Yellove, Уберите using namespace std или переименуйте функцию distance в другую, т.к. в std есть своя функция distance.
0
 Аватар для ThePlague
104 / 104 / 99
Регистрация: 30.06.2015
Сообщений: 272
28.01.2016, 11:51
Yellove, вот теперь все работает как надо...

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <iostream>
#include <fstream>
#include <vector>
#include <cmath>
 
using namespace std;
 
struct point
{
    int x;
    int y;
};
point distance(point xf, point yf)
{
    point m;
    m.x = xf.x-yf.x;
    m.y = xf.y-yf.y;
    return m;
}
int main()
{
    float out;
    vector<point>p;
    point a,b,tmp;
    for(int i=0;i<3;i++)
    {
        cin >> tmp.x >> tmp.y;
        p.push_back(tmp);
    }
    a = distance(p[0],p[1]);
    b = distance(p[0],p[2]);
    out = abs(a.x*b.y-a.y*b.x)/2;
    cout << out << endl;
}
ForEveR, это вообще не играет никакой роли так как std::distance работает с итераторами!
0
Эксперт по математике/физикеЭксперт С++
 Аватар для Ilot
2224 / 1426 / 420
Регистрация: 16.05.2013
Сообщений: 3,646
Записей в блоге: 6
28.01.2016, 12:09
Цитата Сообщение от ThePlague Посмотреть сообщение
ForEveR, это вообще не играет никакой роли так как std::distance работает с итераторами!
Будете удивлены, но distance это шаблонная функция в stl.
0
0 / 0 / 0
Регистрация: 17.06.2015
Сообщений: 16
28.01.2016, 12:16  [ТС]
А что, собственно изменено? У меня не работает, та же проблема....
0
 Аватар для ThePlague
104 / 104 / 99
Регистрация: 30.06.2015
Сообщений: 272
28.01.2016, 12:23
Yellove, опишите подробнее что именно не работает?

у меня все работает без ошибок!
задавать координаты таким образом:

пример:

1 1
5 5
8 1

результат: 14
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
28.01.2016, 12:33
Yellove, Ага-ага. http://en.cppreference.com/w/cpp/iterator/distance
0
0 / 0 / 0
Регистрация: 17.06.2015
Сообщений: 16
28.01.2016, 13:01  [ТС]
Вот ошибки:
Миниатюры
В чем причина ошибки компиляции в программе для определения площади треугольника?  
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
28.01.2016, 13:13
Лучший ответ Сообщение было отмечено Yellove как решение

Решение

Yellove, Я же уже сказал в чем причина. По ошибкам это вполне можно понять.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include<iostream>
#include<fstream>
#include<vector>
#include<cmath>
 
 using namespace std;
 
    struct point 
    {
        int x;
        int y;
     };
    
    point calc_distance(point xf, point yf)
    {
    point m;
    m.x=xf.x-yf.x;
    m.y=xf.y-yf.y;
    return m;   
     } 
 
    int main()
    {
        int i;
        float out;
        vector <point> p(3);
        point a,b;
        for(i=0;i<3;i++) cin >> p[i].x >> p[i].y;
        a=calc_distance(p[0],p[1]);
        b=calc_distance(p[0],p[2]);
        
        out = abs(a.x*b.y-a.y*b.x)/2;
        cout << out;
     }
1
0 / 0 / 0
Регистрация: 17.06.2015
Сообщений: 16
29.01.2016, 09:22  [ТС]
Спасибо! Но на школьном ПеКа не робит все равно xD
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.01.2016, 09:22
Помогаю со студенческими работами здесь

В чем причина ошибки istream
П.5.18.Правил Запрещено размещать задания и решения в виде картинок и других файлов с их текстом.

В чем причина ошибки extra qualification
Видает ошибку extra qualification 'RyadokIdentifier::' on member 'Lowercase' в чем причина #include &lt;iostream&gt; #include...

В чем причина ошибки линковки в NetBeans (gcc 4.9)?
Товарищи! помогите пожалуйста!! Подскажите новичку в С\С++ где собака зарылась: ОС Debian IDE NetBeans компилятор gcc 4.9 При...

В чем причина выдачи ошибки компиляции?
Почему компилятор выдаёт ошибку ? Ошибка 1 error C2665: System::Console::WriteLine: ни одна из 19 перегрузок не может преобразовать все...

Разработать подпрограмму для определения площади треугольника по трем сторонам
Разработать подпрограмму для определения площади треугольника по трем сторонам. Используя созданную подпрограмму, вычислить площади всех...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия SDL 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual. . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru