Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ класс полиномы функция сложения работает неправильно когда складываются отрицательные числа и еще функция деления вообщене работает, подскажите в чем ошибка ? // polinom.cpp: определяет точку входа для консольного приложения. // //#include <stdafx.h> #include <iostream> #include <cstring> #include <cstdlib> using namespace std; class Polinom { https://www.cyberforum.ru/ cpp-beginners/ thread1004004.html Определите: сколько раз температура была выше нуля C++
Привет всем!! У меня есть не большая проблемка! Вот суть её: В текстовом файле записаны результаты измерения температуры воздуха, которые проводились ежедневно в течение декабря. Определите: сколько раз температура была выше нуля. Я не знаю, как правильно записать условие!! вот код мой,то есть часть его #include <iostream> #include <cstdlib>
C++ Проверка строки Я написал "мини игру". Смысл отгадать число. Человек вводит знак сравнения (>, < или =) и любое число, а комп отвечает "Да, верно" или "Нет, не верно". Например, загадано число 5. Человек вводит "<10", тоесть загаданное число меньше 10 и комп должен ответить "Да, верно". Ну так должно быть... Проблема в том, чтобы рассортировать все по своим местам. Знак сравнения отправить на свою проверку, а... https://www.cyberforum.ru/ cpp-beginners/ thread1004000.html C++ Общие элементы двух массивов записать в один https://www.cyberforum.ru/ cpp-beginners/ thread1003999.html
void search(int a,int b,int c,int n,int m){ for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ if(a==b){ // так выводит массив c с общими элементами и с мусорными знач c=a; // потому что n=5? а ведь мне нужно только общие элем } } cout<<c<<" "; // как правильно вывести c? }
Задача на роботу з чергою C++
Реалізувати чергу для зберігання і операцій з даними виду: Ім'я програми Мова програмування Розмір пам'яті, що потребується Час виконання Забезпечити виконання операцій: • виділення місця в пам'яті під чергу; • додавання елементу в чергу; • видалення елементу з черги; • попередження про можливе переповнювання; • повідомлення про переповнювання; • визначення часу виконання всіх програм;...
C++ Передача параметров в функцию https://www.cyberforum.ru/ cpp-beginners/ thread1003965.html
Функция проверки пересечения прямоугольников: bool Intersects(Rect Obj1, Rect Obj2) { int ax,ay,ax1,ay1,bx,by,bx1,by1; ax = Obj1.ItsUpperLeftGetX(); ay = Obj1.ItsUpperLeftGetY(); ax1 = Obj1.ItsLowerRightGetX(); ay1 = Obj1.ItsLowerRightGetY();
C++ Проверка введенных данных в С++ Задача такова: Имеется программа для работы с числами (пусть это будет, например, поднесение числа в квадрат, не суть) Соответственно, от пользователя требуется ввести число. Но пользователь иногда не очень сообразителен и вводит букву. Итог: программа выдает ошибку и закрывается, пользователь в ужасе, программист получил по башке. Как предупредить это? Например, если пользователь вводит... https://www.cyberforum.ru/ cpp-beginners/ thread1003962.html Описать СТРУКТУРУ с именем, напишите код, умоляю C++
Описать структуру с именем MARSH, содержащую следующие поля: • название начального пункта маршрута; • название конечного пункта маршрута; • номер маршрута. Написать программу, выполняющую следующие действия: • ввод с клавиатуры данных в массив, состоящий из восьми элементов типа MARSH (записи должны быть упорядочены по номерам маршрутов); • вывод на экран информации о маршруте,...
C++ Найти сумму элементов https://www.cyberforum.ru/ cpp-beginners/ thread1003939.html
Помогите написать код!!! Найти сумму элементов, расположенных в чётных ( по номеру) строках матрицы. Работаю в Visual C++ 6.0 Заранее благодарю!!!
C++ Среднее орифметическое чисел Как в С происходит нахождение СА (Среднее арифметическое)? Например даны переменные int a = 9; int b = 6; int c = 5; int f = 2 Как найти a+b+c+f:4=? Заранее спасибо. https://www.cyberforum.ru/ cpp-beginners/ thread1003928.html
C++ Обработка строки с использованием указателей
Проблема такая: Есть программа для подсчета кол-ва вхождений символа в строку и удаления последовательности из 2х и более символов. Первый раз просит ввести строку, я ввожу, потом цифру, я ввожу, все что надо он делает(считает кол-во вхождений и убирает последовательности), если длина введенной строки - нечетное число, программа завершается(тут все норм). Если длина строки - четное число, то...
C++ работа слинейными односвязными списками Идем по списку, считаю сколько прошли до положительного двухцифрового. если нашли узел с положительным двухцифровым числом : становимся перед ним, запоминаем узел через один (следующий за тем которым нужно удалить), удаляем нужный узел и связываем указатели. Но она не корректно работает ((( не трогает 1 и 2 узел и иногда удаляет одноцифровые узлы ((( кто что может подсказать ? { int... https://www.cyberforu
0 / 0 / 0
Регистрация: 25.02.2013
Сообщений: 23
14.11.2013, 22:46  [ТС] 0

Из заданного на плоскости множества точек выбрать три различные точки - C++ - Ответ 5337575

14.11.2013, 22:46. Показов 4692. Ответов 11
Метки (Все метки)

Ответ

Само задание звучит так: "Из заданного на плоскости множества точек выбрать три различные точки так,
чтобы разность между площадью круга, ограниченного окружностью, проходящей через эти три точки,
и площадью треугольника с вершинами в этих точках была минимальной "
Плюс все функции при выполнении оформить в виде шаблонов.

Теперь у меня проблемы с самой задачей... Программа почему-то не считает начиная с нахождения радиуса, а я не могу понять, в чем проблема. Я уже и типы пробовала менять, и алгоритм проверяла, вручную примеры высчитывала, единственное, а все не вижу ошибки... Единственное, что не делала - не проверяла сортировку, у меня с ней вечные проблемы, поэтому оставила на десерт)
Помогите, пожалуйста

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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
// happiness.cpp: определяет точку входа для консольного приложения.
//
/* каждый пункт в виде шаблона функции
   данные в кач. параметров
   примеры программ, использующих шаблоны для int, float, double
   
   "из заданного на плоскости множества точек выбрать три различные точки так, 
   чтобы разность между площадью круга, ограниченного окружнотью, проходящей через эти три точки, 
   и площадью треугольника с вершинами в этих точках была миимальной"  */
 
/*1) создать массив x,y; создать массив для конечных результатов 1 итерации функции с площадями
2) создать функцию, выбирающую 3 точки и считающую площадь треугольника и площдь круга (полученные результаты записывать в табличку!)
3) создать другую функцию, которая будет выполнять сортировку по площадям, дабы найти минимальную.
+++++
x,y вбиваются пользователем!*/
 
 
#include "stdafx.h"
#include <iostream>
#include <iomanip>
#include <fstream>
#include <cstring>
#include <cstdlib>
#include <cmath>
 
using namespace std;
 
 
template <class type> 
void func (int lstr, type **a1, type **s1)
{
    int i, j;
    double const pi = 3.14;
    type x1, x2, x3, y1, y2, y3, x, y;
    double ma, mb;
    
    type **s = new type*[lstr];
    for ( i = 0; i < lstr; i++){
        s[i] = new type[4];
    }
   
    type **a = new type*[lstr];
    for ( i = 0; i < lstr; i++){ 
        a[i] = new type[2];
    }
    
    
    
    cout << "Enter matrix: ";
    
    for ( i = 0; i < lstr; i++) {
        for (j = 0; j < 2; j++) {
            cin >> a[i][j];
        }
        cout << endl;
    }
    
    cout << "  X  " << " | " << "  Y  " << endl;
    cout << endl;
    
    for (i = 0; i < lstr; i++) {
        for (j = 0; j < 2; j++){ 
            cout << setw(4) << a[i][j] << "  ";
        }
        cout << endl;
    }
    
    
    
    for (i = 0; i < lstr - 2; i++){
        for (j = i + 1; j < lstr - 1; j++) {
            for (int k = j + 1; k < lstr; k++) {
                x1 = a[i][0];
                y1 = a[i][1];
 
                x2 = a[j][0];
                y2 = a[j][1];
  
                x3 = a[k][0];
                y3 = a[k][1];
 
                cout << " P1(x1;y1) =  ( " << x1 << " ; " << y1 << " )" << endl;
                cout << " P2(x2;y2) =  ( " << x2 << " ; " << y2 << " )" << endl;
                cout << " P3(x3;y3) =  ( " << x3 << " ; " << y3 << " )" << endl;
                
                ma = (y2-y1)/(x2-x1);
                cout << "ma" <<  endl; cout <<ma <<endl;
                mb = (y3-y2)/(x3-x2);
                cout << "mb" << mb << endl;
 
                if (mb - ma == 0) {
                    cout << "P1P2 || P2P3 : these points don't form a circle " << endl;
                    break;
                }
 
                 x =  (ma*mb*(y1-y3)+mb*(x1+x2)-ma*(x2+x3))/2*(mb-ma);
                 y =  ((-1)*(x - (x1+x2)/2))/ma +(y1+y2)/2;
                
                cout << "The center O(x;y)" << x << "  " << y << endl; // начинаются проблемы!!!!!!!!
 
                
                type r =(type) sqrt(double( (x1-x)*(x1-x) - (y1-y)*(y1-y) )); 
                cout << "The radius " << r << endl;
                
                double SC = pi*r*r;
                cout << "Square of the circle " << SC << endl;
                
                double ST = ((x1-x3)*(y2-y3) - (x2-x3)*(y1-y3))/2.0;
                
                cout << "  №  " << "|" << " S of circle " << "|" << " S of tringle " << "|" << "   SC - ST  " << endl;
                
                
                for (int f = 0; f < lstr; f++){
                    s[f][0] = f;
                    s[f][1] = SC;
                    s[f][3] = ST;
                    s[f][4] = SC - ST;
                }
                
                for (int f = 0; f < lstr; f++) {
                    for (int g = 0; g < 4; g++) {
                        cout << setw(4) << s[f][g] << "  ";
                        cout << endl;
                    }
                }
                
                for (j = lstr-1; j > 0; j--){
                    for (i = 0; i < j; i++) {
                        if (s[i+1][4] < s[i][4]) {
                            type* min = s[i];
                            s[i] = s[i+1];
                            s[i+1] = min;
                        } 
                    }
                }
                cout << "sorted data" << endl;
                cout << endl;
                cout << "  №  " << "|" << " S of circle " << "|" << " S of tringle " << "|" << "   SC - ST  " << endl;
                
                for (i = 0; i < lstr; i++) {
                    for (j = 0; j < 4; j++) {
                        cout << setw(4) << s[i][j] << "  ";
                    }
                    cout << endl;
                }
            }
        } 
    }
 
 
 
} 
 
 
int main()
{
    int lstr;
    cout << "Enter lstr strings" << endl;
    cin >> lstr;
    int q;
 
    do {     
        cout << "Choose the type of array" << endl;
        cout << "1 - int" << endl;
        cout << "2 - double" << endl;
        cout << "3 - float" << endl;
        cin >> q;
        
        switch(q) 
        {
        case 1: int ** s1;
                int ** a1;
                func ( lstr, a1, s1);
                break;
        
        case 2: double **s2;
                double **a2;
                func ( lstr, a2, s2);
                break;
        
        case 3: float **s3;
                float **a3;
                func ( lstr, a3, s3);
                break;
        }
    } while (q != 4);
    
    
    return 0;
}


Вернуться к обсуждению:
Из заданного на плоскости множества точек выбрать три различные точки C++
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.11.2013, 22:46
Готовые ответы и решения:

Из заданного на плоскости множества точек выбрать три различные точки
Здравствуйте, помогите пожалуйста написать программу: Из заданного на плоскости множества точек...

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

Работа С Массивами (Выбрать три различные точки из заданного множества точек на плоскости так...)
Задание: Выбрать три различные точки из заданного множества точек на плоскости так, чтобы была...

Из заданного множества точек на плоскости выбрать две различные точки
Привет всем пожалуста помогите найти ошибку в коде. условия задачи: Из задоного множества точек на...

11
14.11.2013, 22:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.11.2013, 22:46
Помогаю со студенческими работами здесь

Из заданного множества точек на плоскости выбрать две различные точки
Из заданного множества точек на плоскости выбрать две различные точки так, что бы количества точек,...

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

Из заданного множества точек на плоскости выбрать две различные точки так
Из заданного множества точек на плоскости выбрать две различные точки так, чтобы количество точек,...

Из заданного множества точек на плоскости выбрать три разные точки A, B, C
Из заданного множества точек на плоскости выбрать три разные точки A, B, C, так, чтобы внутри...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru