Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Блок-схема по циклу https://www.cyberforum.ru/ cpp-beginners/ thread1053177.html
Дана матрица А(nxn). Написать программу, которая находит максимальный по абсолютной величине элемент и переставляет строки и столбцы так, чтобы он оказался в левом верхнем углу.Помогите с блок-схемой. Завтра зачёт:,-( #include <stdio.h> #include <math.h> #include <conio.h> #include <iostream> using namespace std; int main ()
C++ Хеш функция
Проблема в записи в файл в функции add. Эта функция записывает с копированием пред информации, но добавленную строчку добавляет в конец. Мб это файл уже открыт и ещё раз открывается? В общем мне нужно чтобы введённые данные нового сотрудника записывались в конец файла. Объясните ошибку. #include <stdlib.h> #include <fstream.h> #include <conio.h> #define N 106 struct info { int tab; ...
C++ Транслитерировать! код есть, нужно найти ошибку Транслитерировать текстовый файл в латиницу. Помогите найти ошибку, программа не все буквы транслитерирует. #include <iostream> #include <math.h> #include <locale.h> #include <string.h> using namespace std; int main() { https://www.cyberforum.ru/ cpp-beginners/ thread1053166.html C++ Работа с файлами Записать в файл N действительных чисел. Найти разность первой и последней компонент файла. https://www.cyberforum.ru/ cpp-beginners/ thread1053160.html
Разбиение проекта на файлы C++
Нужно разбить проект на файлы main.cpp, struct.cpp(здесь функции), struct.h(библиотеки, структура, прототипы функций). Сам пробовал - постоянно проблемы с линкером. Самостоятельно решения не смог найти. Прошу помочь. Сам проект (работает корректно): #include "stdafx.h" #include <windows.h> #include <string> #include <iostream> #include <fstream>
C++ скажите как записать https://www.cyberforum.ru/ cpp-beginners/ thread1053139.html
if ((a=b) and (b<>c)) or ((b=c) and (c<>a)) or ((a=c) and (c<>b)) then writeln('Данный треугольник равнобедренный') else writeln('Данный треугольник не равнобедренный'); readln;
C++ Описать структуру с именем STUDENT 1. Описать структуру с именем STUDENT, содержащую следующие поля: фамилия и инициалы; номер группы; успеваемость (массив из пяти элементов). 2. Написать программу, выполняющую следующие действия: ввод с клавиатуры данных в массив, состоящий из десяти структур типа STUDENT; записи должны быть упорядочены по алфавиту; вывод на дисплей фамилий и номеров групп для всех студентов, имеющих хотя... https://www.cyberforum.ru/ cpp-beginners/ thread1053138.html Вычислить значение функции заданной рядом C++
Задачи. 1. Вычислить значение функции заданной рядом задания перепечатывайте на форум одна тема - одна задача читайте правила форума
C++ Библиотека цепляемая C++ и C# линковщиками https://www.cyberforum.ru/ cpp-beginners/ thread1053109.html
Такое ваще возможно?)))) Если, да то в какую сторону копать? с чего начать? Были идеи COM и .Net(как там у них CLR вроде)
C++ Вычислить значение функции Вычислить значение функции с точностью ε = 10^-4, где x изменяется от 0 до 2 с шагом 0.2. Результаты вывести в виде таблицы. Нужна программа на C++. Спасайте, форумчане! в упор не понимаю, что от меня требуется, и как это реализовать.:cry: https://www.cyberforum.ru/ cpp-beginners/ thread1053100.html
C++ Параметризованная ф-ция класса
Пытаюсь заменить списки (используя структуры) на списки используя параметризованную функцию класса Компилятор ругается на строчку где я создаю указатель на класс List_node в классе List. Помогите понять в чём здесь ошибка пожалуйста. template <class T> class list_node{ public: list_node <T> *next; list_node <T> *prev; T data;
C++ Тип переменной для счётчика цикла https://www.cyberforum.ru/ cpp-beginners/ thread1053097.html
Нужна переменная для счётика цикла for примерно байт на 8. В том году находил тип такой переменной, а щас не могу найти. long и long long модификатор, пожалуйста не предлагать т.к. они не всегда строго фиксированного размера. Заранее спасибо
0 / 0 / 0
Регистрация: 23.12.2013
Сообщений: 4
0

Алгоритм грэхема - C++ - Ответ 5543676

23.12.2013, 12:31. Показов 5188. Ответов 7
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Добрые люди помогите пожалуйста. Есть код который выполняет алгоритм Грехема. Количество точек задаем сами. Если кол-во точек меньше 1000 то все работает хорошо. Больше тысячи программа выкидывает с ошибкой. Не могу понять в чем дело. Нужно заставить ее работать при кол-ве точек больше 1000.
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
#include <iostream>
#include <stack>
#include <stdlib.h>
#include <time.h>
#include <winbgim.h>
 
using namespace std;
struct Point
{
    int x;
    int y;
};
Point p0;
Point nextToTop(stack<Point>&S)
{
    Point p=S.top();
    S.pop();
    Point res=S.top();
    S.push(p);
    return res;
}
int swap(Point &p1,Point &p2)
{
    Point temp=p1;
    p1=p2;
    p2=temp;
}
int dist(Point p1,Point p2)
{
    return (p1.x-p2.x)*(p1.x-p2.x) + (p1.y-p2.y)*(p1.y-p2.y);
}
int orientation(Point p, Point q, Point r)
{
    int val = (q.y - p.y)*(r.x - q.x)-(q.x - p.x)*(r.y - q.y);
    if (val==0) return 0;
    return (val>0)? 1:2;
}
int compare(const void *vp1, const void *vp2)
{
   Point *p1 = (Point *)vp1;
   Point *p2 = (Point *)vp2;
   int o=orientation(p0,*p1,*p2);
   if (o==0)
     return (dist(p0,*p2)>=dist(p0,*p1))? -1 : 1;
   return (o==2)? -1: 1;
}
void Hull(Point points[],int n)
{
   int ymin=points[0].y,min = 0;
   for (int i=1; i<n; i++)
   {
     int y=points[i].y;
     if ((y<ymin) || (ymin==y && points[i].x<points[min].x))
        ymin=points[i].y, min=i;
   }
   swap(points[0], points[min]);
   p0 = points[0];
   qsort(&points[1], n-1, sizeof(Point), compare);
   stack<Point> S;
   S.push(points[0]);
   S.push(points[1]);
   S.push(points[2]);
   for (int i = 2; i < n; i++)
   {
      while (orientation(nextToTop(S), S.top(), points[i]) != 2)
         S.pop();
      S.push(points[i]);
   }
   int graphdriver = DETECT, gmode;
    initgraph(&graphdriver, &gmode, "");
    if(graphresult() != grOk)
    {
       cout<<"Error\n";
       getch();
    }
    //setbkcolor(WHITE);
    cleardevice();
    int t[n];
    int j=0,c=0,d=0;
    int u[n];
    cout<<"\npoints out:\n";
   while (!S.empty())
   {
       Point p = S.top();
       cout << "(" << p.x << ", " << p.y <<")" << endl;
       t[j]=p.x;
       u[j]=p.y;
       j++;
       S.pop();
   }
for(int c=0;c<j;c++) cout<< "\n((" << t[c] << ", " << u[c] <<"))" << endl;
for(int h=0;h<n;h++) circle(points[h].x,points[h].y,1);
d=0;
while ((d)<j-1)
   {
       line(t[d],u[d],t[d+1],u[d+1]);
       d++;
   }
line(t[j-1],u[j-1],t[0],u[0]);
getch();
closegraph();
}
 
int baba()
{
    M:
    int f,n=0,s=0;
    cout<<"points->";
    cin>>f;
    if(f>2)
    {
    Point points[f];
    srand(time(NULL));
    cout<<"Points:\n";
    for(int c=0;c<f;c++)
    {
        points[c].x=rand()%330+130;
        points[c].y=rand()%300+100;
        cout << "(" << points[c].x << ", " << points[c].y <<")" << endl;
    }
    Hull(points, f);
    }else goto M;
    return 0;
}
int main()
{
    M:
    int f,n=0,s=0;
    cout<<"points->";
    cin>>f;
    if(f>2)
    {
    Point points[f];
    srand(time(NULL));
    cout<<"Points:\n";
    for(int c=0;c<f;c++)
    {
        points[c].x=rand()%330+130;
        points[c].y=rand()%300+100;
        cout << "(" << points[c].x << ", " << points[c].y <<")" << endl;
    }
    Hull(points, f);
    }else goto M;
    return 0;
}
Проверял на Codeblocks.

Вернуться к обсуждению:
Алгоритм грэхема C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.12.2013, 12:31
Готовые ответы и решения:

Алгоритм Грэхема
очень надо

Алгоритм Грэхема
Всем доброго времени суток На завтра надо уже принести алгоритм грэхема, но толком ничего не...

Алгоритм Грэхема, реализация на С++
Помогите написать реализацию Алгоритма на С++.

Реализация Алгоритма Грэхема на С++
Доброго времени суток, пожалуйста помогите разобраться с написанием программы. Что непонятно: 1)...

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

Реализация Алгоритма Грэхема и Джарвиса на С++
Ищу того, кто сделает за деньги с комментариями к каждой строке. В ЛС цену и за какое время.

Нужен алгоритм поиска пути в этом лабиринте (будь то волновой алгоритм или алгоритм правой/левой руки )
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; void lab...

Волновой алгоритм поиска (Алгоритм A* / Алгоритм А стар)
Хочу разработать алгоритм для решения головоломки с подвижными дисками (перестановочная...

Алгоритм Грэхема
Помогите, пожалуйста составить Алгоритм Грэхема, есть такой код, но там ничего не понимаю struct...

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