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

Найти координаты точек пересечения двух кругов - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти все положительные числа, из которых выбрать наименьшее http://www.cyberforum.ru/cpp-beginners/thread752008.html
Пусть a=\frac{i-1}{i+1}+\sin \frac{{(i-1)}^{3}}{i+1},i=1,2... Дано натуральное число n. Среди a,a,...,a найти все положительные числа, из которых выбрать наименьшее. помогите пожалуйста!
C++ Методом обхода в глубину определить число компонент связности и цикломатическое число графа Методом обхода в глубину определить число компонент связности и цикломатическое число графа – минимальное число ребер, которые надо удалить, чтобы граф стал ациклическим. Способ представления графа - матрица смежности. Подскажите, пожалуйста, является ли написанный мной способ поиска числа компонент связности поиском в глубину? Если нет, то подскажите, что требуется изменить. #include... http://www.cyberforum.ru/cpp-beginners/thread751988.html
Разработать приложение, позволяющее организовать работу по учету занятости номеров гостиницы C++
Всем доброго времени суток! Решила сама начать осваивать С++ до поступления в институт, где изучение этого языка программирования обязательно будет. Уже начала неплохо разбираться в некоторых вещах, но одно остается для меня дремучим лесом: работа с файлами. Мне было предложено разработать приложение, позволяющее организовать работу по учету занятости номеров гостиницы. Так вот, всю ту кучу,...
C++ Как задать кодировку при записи в файл или чтения из него
У меня блокнот Notepad++, своей программой я записываю в некоторый текстовый файл все символы ASCII. Проблема вот в чем: программа отображает символы правильно, а блокнот крякозябры. Если я меняю кодировку в блокноте на такую, что он все нормально показывает, то моя программа открывает этот файл с другими символами запись: ofstream my ("1.txt"); char a; for (int i = 0; i <...
C++ Не работает подсчет суммы введенных чисел http://www.cyberforum.ru/cpp-beginners/thread751930.html
#include <iostream> using namespace std; int main() { std::cout << 'Enter two numbers' << std::endl; int v1, v2; std::cin >> v1 >> v2; std::cout << 'The summ of' << v1 << 'and' << v2 << 'is' << v1 + v2 << std::endl; return 0;
C++ Видео лекции: Основы C++ На просторах интернета нашел замечательный ресурс как lektorium.tv Мне понравились предоставленные азы в этих видео лекциях, которые в большинстве ВУЗов не даются. Список тем: Эффективная работа с памятью. Объектно-ориентированное программирование на примере языка C . Обобщенное программирование на примере языка C . STL. Дополнительная литература: подробнее

Показать сообщение отдельно
TheVlad
5 / 5 / 1
Регистрация: 24.10.2012
Сообщений: 102
26.01.2013, 20:56  [ТС]     Найти координаты точек пересечения двух кругов
Цитата Сообщение от Nixy Посмотреть сообщение
правильно это я немного погнал, удалить просто получится присвоение, а нам нужно сравнение замените на = чтоб получить ==
поднимаю вопрос насчет этой программы, можеш пожалуйста пересмотреть, ато она не правильно работает, например если вводить (1;2) (3;5) R1=2 R2=2, то ничего не выводит, ну и в большинстве других случаев.....

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
#include <iostream>
 #include <cmath>
 #include <Windows.h>
 #include <vector>
 
 using namespace std;
 
 void lines(int, char []);
 
 struct point
 {
     point( float x_,float y_) { x = x_; y = y_;};
     float x;
     float y;
 };
 
 bool inCircle(point O,point p,float R)
 {
    return pow((float)(O.x-p.x),2)+pow((float)(O.y-p.y),2) == R*R ? true : false;
 }
 
 int main()
 {
     setlocale(0,"");
     point O1(0,0), O2(0,0);
     float R1, R2, d;
     vector <point> arr;
 
     cout<<"Введiть координать центра 1-го кола:"<<endl;
     cout<<"x=";
     cin>>O1.x;
     cout<<"y=";
     cin>>O1.y ;
     lines(40,"-");
     cout<<"Введiть координать центра 2-го кола:"<<endl;
     cout<<"x=";
     cin>>O2.x;
     cout<<"y=";
     cin>>O2.y;
     lines(40,"-");
     cout<<"Введiть радiуси двох кiл(1-го та 2-го):"<<endl;
     cout<<"R1=";
     cin>>R1;
     cout<<"R2=";
     cin>>R2;
 
     d = sqrt(pow((O1.x - O2.x),2)+pow((O1.y - O2.y),2));
 
     lines(40,"-");
    if((R1 - R2) < d && d <(R1 + R2))
    {
     for (float x = O1.x-R1 < O2.x-R2 ? O1.x-R1 : O2.x-R2,
              endx =O1.x+R1 > O2.x+R2 ? O1.x+R1 : O2.x+R2;
              x < endx  ; x++)
     {
        for (float y = O1.y-R1 < O2.y-R2 ? O1.y-R1 : O2.y-R2,
                 endy = O1.y+R1 > O2.y+R2 ? O1.y+R1 : O2.y+R2  ;
              y < endy ; y++)
        {
             if (inCircle(O1,point(x,y),R1) & inCircle(O2,point(x,y),R2))
             {
                arr.push_back(point(x,y));
             }
        }
     }
 
     for (int i = 0; i < arr.size();)
     {
       for (int j = 0; (j < 5 & i < arr.size()) ; j++ ,i++)
       {
            cout << "("<< arr[i].x << ";" <<arr[i].y << ")\t";
       }
       cout << endl;
     }
    }
    else cout<<"Кола не перетинаються!\n";
     system("pause");
     return 0;
 }
 
void lines(int x, char p[])
{
    for(int i = 0; i < x; i++)
    {
        cout<<p;
    }
    cout<<endl;
}
вот скрин...

думаю что из за того, что типы все таки должны быть не целочисельные, но исправил на флоат, ничего не изменилось....
Миниатюры
Найти координаты точек пересечения двух кругов  
 
Текущее время: 01:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru