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

В данном множестве точек узнать, какие из них создадут треугольник наименьшей площади

30.09.2013, 21:46. Показов 2121. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задание; в данном множестве точек узнать какие из ни создадут треугольник наименьшей площади?
Вот я решил на С++ в визуал студии,но после кампеляции выдает ошибку Необработанное исключение по адресу 0x5156D745 (msvcr110d.dll) в ConsoleApplication12.exe: 0xC0000005: нарушение прав доступа при записи по адресу 0x00000000.

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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <math.h>
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    float x[255];
    float y[255];
    float a;
    float b;
    float c;
    int n = 0;
    float asd = 18;
    float s;
    float st;
    float p;
    int i; 
    int j;
    int k;
        printf("vvedite koordinatu tojek\n");
        scanf_s("%d, &n");
        if (n>=3&&n<=100) {
        for(i=1;i<=n;i++) {
        scanf_s("%f, %f\n", &x[i], &y[i]);
        }
 
        s = exp(asd);
    
        for(j=1;j<=n;j++)
            {
                for(k=1;k<=n;k++)
                {
                    if(i!=j||j!=k||j!=k) {
                    
                    a=sqrt((x[i]-x[j])*(x[i]+x[j])-(y[i]-y[j])*(y[i]+y[j]));
                    b=sqrt((x[i]-x[k])*(x[i]+x[k])-(y[i]-y[k])*(y[i]+y[k]));
                    c=sqrt((x[j]-x[k])*(x[j]+x[k])-(y[j]-y[k])*(y[j]+y[k]));
                    p=(a+b+c)/2;
                    st=sqrt(p*(p-a)*(p-b)*(p-c));
                    if(st<s) {
                        s=st;
                    }
                    }
                }
 
        }
    }
        
        printf("%.2f\n", s);
    return 0;
}
ЧТО ДЕЛАТЬ???
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.09.2013, 21:46
Ответы с готовыми решениями:

В заданном множестве точек определить, какие из них образуют треугольник наименьшей площади
Доброго времени суток. Срочно нуждаюсь в помощи для решения следующей задачи: В заданном множестве точек определить, какие из них...

Во множестве N точек плоскости выделить те три, которые образуют треугольник максимальной площади.
Во множестве N точек плоскости выделить те три, которые образуют треугольник максимальной площади.

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

24
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
30.09.2013, 22:15
Для начала:
C++
1
scanf_s("%d", &n);
Добавлено через 11 минут
Потом так:
C++
1
2
3
4
for(i = 0; i < n; i++) 
{
    scanf_s("%f%f", &x[i], &y[i]);
}
И во всех циклах исправить начальное значение индекса на 0, делать пока < n.
1
0 / 0 / 0
Регистрация: 30.09.2013
Сообщений: 36
30.09.2013, 22:43  [ТС]
так исправил а дальше?
0
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
30.09.2013, 22:45
Цитата Сообщение от f12 Посмотреть сообщение
так исправил а дальше?
А что дальше? Ошибок (наподобие описанной в первом посте) при работе нет?
0
0 / 0 / 0
Регистрация: 30.09.2013
Сообщений: 36
30.09.2013, 22:54  [ТС]
ошибок нет, но точки вводятся до бесконечности....
0
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
30.09.2013, 23:05
Значит не так исправили. Код показывайте.
0
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
30.09.2013, 23:08
У меня всё нормально с вводом. Можно и по одному числу вводить.
Миниатюры
В данном множестве точек узнать, какие из них создадут треугольник наименьшей площади  
0
0 / 0 / 0
Регистрация: 30.09.2013
Сообщений: 36
30.09.2013, 23:11  [ТС]
а ты через что пишешь?
0
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
30.09.2013, 23:13
Цитата Сообщение от f12 Посмотреть сообщение
а ты через что пишешь?
По русски спросите, и на брудершафт, вробе бы, не пили...
0
0 / 0 / 0
Регистрация: 30.09.2013
Сообщений: 36
30.09.2013, 23:16  [ТС]
ааа, извиняюсь,но запарился с этой прогой,
все вроде получилось но программа сразу закрывается.
Вопрос что делать????
0
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
30.09.2013, 23:21
Цитата Сообщение от f12 Посмотреть сообщение
Вопрос что делать????
Отстановку в конце. Какой-нибудь getch().
0
0 / 0 / 0
Регистрация: 30.09.2013
Сообщений: 36
30.09.2013, 23:25  [ТС]
нет. не помогает, что-то не так??
0
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
30.09.2013, 23:36
....
Цитата Сообщение от alsav22 Посмотреть сообщение
Значит не так исправили. Код показывайте.
0
0 / 0 / 0
Регистрация: 30.09.2013
Сообщений: 36
30.09.2013, 23:53  [ТС]
вот
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <math.h>
 
int _tmain(int argc, _TCHAR* argv[])
{
    float x[100];
    float y[100];
    float a;
    float b;
    float c;
    int n = 0;
    float asd = 18;
    float s;
    float st;
    float p;
    int i; 
    int j;
    int k;
        printf("vvedite koordinatu tojek\n");
        scanf_s("%d", &n);
        if (n>=3&&n<=100) {
        for(i=1;i<n;i++) {
        scanf_s("%f, %f\n", &x[i], &y[i]);
        }
 
        s = exp(asd);
    
        for(j=0;j<=n;j++)
            {
                for(k=0;k<=n;k++)
                {
                    if(i!=j||j!=k||j!=k) {
                    
                    a=sqrt((x[i]-x[j])*(x[i]+x[j])-(y[i]-y[j])*(y[i]+y[j]));
                    b=sqrt((x[i]-x[k])*(x[i]+x[k])-(y[i]-y[k])*(y[i]+y[k]));
                    c=sqrt((x[j]-x[k])*(x[j]+x[k])-(y[j]-y[k])*(y[j]+y[k]));
                    p=(a+b+c)/2;
                    st=sqrt(p*(p-a)*(p-b)*(p-c));
                    if(st<s) {
                        s=st;
                    }
                    }
                }
 
        }
    }
        
        printf("%.2f\n", s);
    
return 0;
system("PAUSE"); 
getch();
}
0
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
30.09.2013, 23:59
Остановку перед return делают. И зачем там две остановки?
0
0 / 0 / 0
Регистрация: 30.09.2013
Сообщений: 36
01.10.2013, 00:06  [ТС]
исправил : }
}

}
}

printf("%.2f\n", s);
getch();
return 0;


}


а может у меня сама визуал студия не корректно работает??
да и подскажите какой можно еще кампелятор использовать?
0
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
01.10.2013, 00:11
Цитата Сообщение от f12 Посмотреть сообщение
исправил
И? Останавливается?
Цитата Сообщение от f12 Посмотреть сообщение
да и подскажите какой можно еще кампелятор использовать?
Студия хорошая среда.

Добавлено через 2 минуты
Вот это что?
C++
1
2
3
for(i=1;i<n;i++) {
 scanf_s("%f, %f\n", &x[i], &y[i]);
 }
Здесь разве так? В данном множестве точек узнать, какие из них создадут треугольник наименьшей площади
Копипаст сложно сделать?
0
0 / 0 / 0
Регистрация: 30.09.2013
Сообщений: 36
01.10.2013, 00:45  [ТС]
как вставить фото сюда?
0
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
01.10.2013, 00:50
???
Цитата Сообщение от alsav22 Посмотреть сообщение
Вот это что?
C++
1
2
3
for(i=1;i<n;i++) {
 scanf_s("%f, %f\n", &x[i], &y[i]);
 }
0
0 / 0 / 0
Регистрация: 30.09.2013
Сообщений: 36
01.10.2013, 17:16  [ТС]
Вот
Миниатюры
В данном множестве точек узнать, какие из них создадут треугольник наименьшей площади  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.10.2013, 17:16
Помогаю со студенческими работами здесь

Выбрать три разные точки заданного на плоскости множества точек, составляющие треугольник наименьшей площади
Написать программный модуль для решения следующей задачи. Выбрать три разные точки заданного на плоскости множества точек, составляющие...

Выбрать три разные точки заданного на плоскости множества точек, составляющие треугольник наименьшей площади.
Написать программный модуль для решения следующей задачи. Выбрать три разные точки заданного на плоскости множества точек, составляющие...

На плоскости дано 8 точек. Определить, какие из них образуют 6-угольник максимальной площади
Доброго времени суток. Помогите пожалуйста с программой. Задание: На плоскости дано 8 точек. 1. Определить, какие из них образуют...

даны 10 точек на координатной плоскости, найти из них 3 таких точки, которые составят треугольник минимальной площади.
Собственно сабж. Помогите любыми намётками, очень буду благодарна

Дано множество точек на плоскости. Сколько можно на данном множестве точек построить отрезков, перпендикулярных оси OY
помогите с задачкой Дано множество точек на плоскости. Сколько можно на данном множестве точек построить отрезков, перпендикулярных оси...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru