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

Пересечение эллипса и окружности - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Создать массив A(n) и найти длину самойдлиной последовательности подряд идущих элементов http://www.cyberforum.ru/cpp-beginners/thread845938.html
Задан числовой массив A.Найти длинну самой длинной последовательности подряд идущих элементов массива,которые равны нулю. Число N вводится с клавиатуры.
C++ Функция Z=sqrt(Xmin^2 + Ymin^2) X(10) Y(12) Функция Z=sqrt(Xmin2 + Ymin^2) X(10) Y(12) Помогите решит эту функция, пожалуйста! (С++) http://www.cyberforum.ru/cpp-beginners/thread845935.html
C++ Алгоритм Конягина - Померанса
Помогите реализовать этот алгоритм на с++, заранее спасибо.
C++ Упаковка в байты
Можно ли упаковать массив bitset допустим из 100 тысяч битов в байты, чтобы записать это дело в файл или можно записывать сразу в файл(но записывается минимальная единица один байт)??? Спасибо
C++ Создание шаблонной функции http://www.cyberforum.ru/cpp-beginners/thread845898.html
Создать шаблонную функцию, изменяющий порядок элементов таким образом: первая половина списка смещается в конец, а вторая в начало. К примеру: 1 2 3 4 5 6 - 4 5 6 1 2 3. Функция должна работать с массивом любой длины. Если количество элементов нечетное, то средний элемент обрабатывать не нужно.
C++ Динамические массивы Доброго времени суток! Везде написано, что динамический массив - это массив, размер которого может меняться во время исполнения программы. Но при выделении памяти под динамический массив все равно нужно указывать число элементов. Что-то типо этого int array = new int; Можно ли как-нибудь изменять размер массива без использования вектора или копирования в новый массив с другим размером?... подробнее

Показать сообщение отдельно
Zakat
6 / 6 / 0
Регистрация: 24.12.2012
Сообщений: 143
08.05.2013, 23:54  [ТС]     Пересечение эллипса и окружности
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
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <Windows.h>
#include <iostream>
 
void main(void)
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);   
                                                            
    float R=31;
    float _x0, _y0;
    _x0=32-R;
    float Dokr;
    Dokr = (-40)*(-40)-4*1*(-560);
    _y0=((-40)+sqrt(Dokr))/2;
        float krayokruzhnostiX1, krayokruzhnostiX2;
        krayokruzhnostiX1=_x0-R;
        krayokruzhnostiX2=_x0+R;
    
    float a=31, b=38;
    float _x, _y;
    float Dell;
    _y=b-45;
    Dell = (-80)*(-80)-4*1*671;
    _x=(-80+sqrt(Dell))/2;
        float krayellipsaX1, krayellipsaX2;
        krayellipsaX1=_x-a;
        krayellipsaX2=_x+a;
        
        for( float X1=krayokruzhnostiX1; X1<=krayokruzhnostiX2; X1=X1+0.001)
        {
            float Yokr1, Yokr2; 
            float t, w, D;
            float n1=1;//типо a
            w=2*_y0;//типо b
            t=pow(X1-_x0, 2)+pow(_y0, 2)-pow(31, 2);// типо c
            D=w*w-4*n1*t;//дискриминант
            Yokr1=(-w+sqrt(D))/2*n1;//первый корень окружности
            Yokr2=(-w-sqrt(D))/2*n1;//второй корень окружности
            
 
                for(float X2=krayellipsaX1; X2<=krayellipsaX2; X2=X2+0.001)
                {
                    float znachenieellipsa=1;
                    float Yell1, Yell2;
                    float t1, w1, D1;
                    float n2=1;//типо а
                    w1=2*_y;//типо b
                    t1=((pow(X2-_x, 2))/(a*a)-znachenieellipsa)*(b*b)+(_y*_y);//типо с
                    D1=w1*w1-4*n2*t1;
                    Yell1=(w1+sqrt(D1))/2*n2;//первый корень эллипса
                    Yell2=(w1-sqrt(D1))/2*n2;//второй корень эллипса
                    
                    if(Yokr1==Yell1 && Yokr2==Yell2)
                        //printf("точки пересечения\n\t\X1=%0.3f, Y1=%0.3f\n\tX2=%0.3f, Y2=%0.3f", X1, Yokr1, X2, Yokr2);
                    break;
                    printf("точки пересечения\n\t\X1=%0.3f, Y1=%0.3f\n\tX2=%0.3f, Y2=%0.3f", X1, Yokr1, X2, Yokr2);
                }
        }
    
    system("pause");
}
зациклился)) как выйти из этих циклов?? подскажите пожалста
 
Текущее время: 19:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru