Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
f12
0 / 0 / 0
Регистрация: 30.09.2013
Сообщений: 24
#1

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

30.09.2013, 21:46. Просмотров 636. Ответов 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;
}
ЧТО ДЕЛАТЬ???
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.09.2013, 21:46     В данном множестве точек узнать, какие из них создадут треугольник наименьшей площади
Посмотрите здесь:

Узнать, какие разряды включены в число, а какие нет C++
C++ В заданном множестве точек плоскости найти количество точек в каждой из четвертей
C++ Дано несколько точек с целочисленными координатами. Определить максимальное количество точек из них, лежащих на одной прямой. Если можно напечатать н
C++ Среди треугольников с вершинами в заданном множестве точек на плоскости
C++ Треугольник с наименьшей гипотенузой
Как найти длину наименьшей строки в данном массиве ? C++
C++ Найдите треугольник максимальной площади
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5413 / 4809 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
30.09.2013, 22:15     В данном множестве точек узнать, какие из них создадут треугольник наименьшей площади #2
Для начала:
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.
f12
0 / 0 / 0
Регистрация: 30.09.2013
Сообщений: 24
30.09.2013, 22:43  [ТС]     В данном множестве точек узнать, какие из них создадут треугольник наименьшей площади #3
так исправил а дальше?
alsav22
5413 / 4809 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
30.09.2013, 22:45     В данном множестве точек узнать, какие из них создадут треугольник наименьшей площади #4
Цитата Сообщение от f12 Посмотреть сообщение
так исправил а дальше?
А что дальше? Ошибок (наподобие описанной в первом посте) при работе нет?
f12
0 / 0 / 0
Регистрация: 30.09.2013
Сообщений: 24
30.09.2013, 22:54  [ТС]     В данном множестве точек узнать, какие из них создадут треугольник наименьшей площади #5
ошибок нет, но точки вводятся до бесконечности....
alsav22
5413 / 4809 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
30.09.2013, 23:05     В данном множестве точек узнать, какие из них создадут треугольник наименьшей площади #6
Значит не так исправили. Код показывайте.
alsav22
5413 / 4809 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
30.09.2013, 23:08     В данном множестве точек узнать, какие из них создадут треугольник наименьшей площади #7
У меня всё нормально с вводом. Можно и по одному числу вводить.
Миниатюры
В данном множестве точек узнать, какие из них создадут треугольник наименьшей площади  
f12
0 / 0 / 0
Регистрация: 30.09.2013
Сообщений: 24
30.09.2013, 23:11  [ТС]     В данном множестве точек узнать, какие из них создадут треугольник наименьшей площади #8
а ты через что пишешь?
alsav22
5413 / 4809 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
30.09.2013, 23:13     В данном множестве точек узнать, какие из них создадут треугольник наименьшей площади #9
Цитата Сообщение от f12 Посмотреть сообщение
а ты через что пишешь?
По русски спросите, и на брудершафт, вробе бы, не пили...
f12
0 / 0 / 0
Регистрация: 30.09.2013
Сообщений: 24
30.09.2013, 23:16  [ТС]     В данном множестве точек узнать, какие из них создадут треугольник наименьшей площади #10
ааа, извиняюсь,но запарился с этой прогой,
все вроде получилось но программа сразу закрывается.
Вопрос что делать????
alsav22
5413 / 4809 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
30.09.2013, 23:21     В данном множестве точек узнать, какие из них создадут треугольник наименьшей площади #11
Цитата Сообщение от f12 Посмотреть сообщение
Вопрос что делать????
Отстановку в конце. Какой-нибудь getch().
f12
0 / 0 / 0
Регистрация: 30.09.2013
Сообщений: 24
30.09.2013, 23:25  [ТС]     В данном множестве точек узнать, какие из них создадут треугольник наименьшей площади #12
нет. не помогает, что-то не так??
alsav22
5413 / 4809 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
30.09.2013, 23:36     В данном множестве точек узнать, какие из них создадут треугольник наименьшей площади #13
....
Цитата Сообщение от alsav22 Посмотреть сообщение
Значит не так исправили. Код показывайте.
f12
0 / 0 / 0
Регистрация: 30.09.2013
Сообщений: 24
30.09.2013, 23:53  [ТС]     В данном множестве точек узнать, какие из них создадут треугольник наименьшей площади #14
вот
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();
}
alsav22
5413 / 4809 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
30.09.2013, 23:59     В данном множестве точек узнать, какие из них создадут треугольник наименьшей площади #15
Остановку перед return делают. И зачем там две остановки?
f12
0 / 0 / 0
Регистрация: 30.09.2013
Сообщений: 24
01.10.2013, 00:06  [ТС]     В данном множестве точек узнать, какие из них создадут треугольник наименьшей площади #16
исправил : }
}

}
}

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


}


а может у меня сама визуал студия не корректно работает??
да и подскажите какой можно еще кампелятор использовать?
alsav22
5413 / 4809 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
01.10.2013, 00:11     В данном множестве точек узнать, какие из них создадут треугольник наименьшей площади #17
Цитата Сообщение от f12 Посмотреть сообщение
исправил
И? Останавливается?
Цитата Сообщение от f12 Посмотреть сообщение
да и подскажите какой можно еще кампелятор использовать?
Студия хорошая среда.

Добавлено через 2 минуты
Вот это что?
C++
1
2
3
for(i=1;i<n;i++) {
 scanf_s("%f, %f\n", &x[i], &y[i]);
 }
Здесь разве так? В данном множестве точек узнать, какие из них создадут треугольник наименьшей площади
Копипаст сложно сделать?
f12
0 / 0 / 0
Регистрация: 30.09.2013
Сообщений: 24
01.10.2013, 00:45  [ТС]     В данном множестве точек узнать, какие из них создадут треугольник наименьшей площади #18
как вставить фото сюда?
alsav22
5413 / 4809 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
01.10.2013, 00:50     В данном множестве точек узнать, какие из них создадут треугольник наименьшей площади #19
???
Цитата Сообщение от alsav22 Посмотреть сообщение
Вот это что?
C++
1
2
3
for(i=1;i<n;i++) {
 scanf_s("%f, %f\n", &x[i], &y[i]);
 }
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.10.2013, 17:16     В данном множестве точек узнать, какие из них создадут треугольник наименьшей площади
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
f12
0 / 0 / 0
Регистрация: 30.09.2013
Сообщений: 24
01.10.2013, 17:16  [ТС]     В данном множестве точек узнать, какие из них создадут треугольник наименьшей площади #20
Вот
Миниатюры
В данном множестве точек узнать, какие из них создадут треугольник наименьшей площади  
Yandex
Объявления
01.10.2013, 17:16     В данном множестве точек узнать, какие из них создадут треугольник наименьшей площади
Ответ Создать тему
Опции темы

Текущее время: 15:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru