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

В какое из колец попадет больше точек - C++

Восстановить пароль Регистрация
 
Михаил1993
1 / 1 / 0
Регистрация: 14.02.2012
Сообщений: 17
02.07.2012, 01:14     В какое из колец попадет больше точек #1
даны внешние и внутренние радиусы двух колец, центры которых находятся в начале координат. Даны координаты десяти точек. В какое из колец попадет больше точек
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tepd
1 / 1 / 0
Регистрация: 13.06.2012
Сообщений: 9
02.07.2012, 02:11     В какое из колец попадет больше точек #2
можешь посчитать расстояние до внутреннего и внешнего радиусов каждого кольца, а также расстояние до каждой точки от начала координат.
а там уже по расстоянию для каждой точки сравнивать его с расстояниями радиусов колец
Михаил1993
1 / 1 / 0
Регистрация: 14.02.2012
Сообщений: 17
02.07.2012, 09:38  [ТС]     В какое из колец попадет больше точек #3
Помогите пожалуйста написать, плохо очень си понимаю! Заранее спасибо
OstapBender
 Аватар для OstapBender
581 / 519 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
02.07.2012, 16:17     В какое из колец попадет больше точек #4
такой вот примерчик.. точки случайно задаются
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
struct Vertex2D;
double distance2D(Vertex2D v1, Vertex2D v2);
 
struct Vertex2D {
 
    double x, y;
    Vertex2D() {}
    Vertex2D(double xx, double yy) {
        x = xx;
        y = yy;
    }
 
};
 
struct Ring {
 
    Vertex2D R1, R2; // r2 > r1 !
    double dist_r1, dist_r2;
    Ring(Vertex2D r1, Vertex2D r2) {
        R1 = r1;
        R2 = r2;
        dist_r1 = distance2D(Vertex2D(0,0),R1);
        dist_r2 = distance2D(Vertex2D(0,0),R2);
    }
 
};
 
double distance2D(Vertex2D v1, Vertex2D v2) {
    return sqrt((v1.x - v2.x) * (v1.x - v2.x) + (v1.y - v2.y) * (v1.y - v2.y));
}
 
int main(int argc, char *argv[]) {
 
    Ring r1(Vertex2D(10,10), Vertex2D(15,15));
    Ring r2(Vertex2D(5,5), Vertex2D(8,8));
 
    Vertex2D points[10] = {
        // ...
    };
 
    int sum1 = 0, sum2 = 0;
 
    srand(time(0));
 
    for (int i=0; i<10; i++) { 
        points[i] = Vertex2D(rand()%30 - 15, rand()%30 - 15);
        double dist_point = distance2D(Vertex2D(0,0),points[i]);
        if (dist_point >= r1.dist_r1 && dist_point <= r1.dist_r2)
            sum1++;
        if (dist_point >= r2.dist_r1 && dist_point <= r2.dist_r2)
            sum2++;
    }
    
    std::cout << sum1 << ' ' << sum2;
    getchar();
}
Михаил1993
1 / 1 / 0
Регистрация: 14.02.2012
Сообщений: 17
02.07.2012, 18:37  [ТС]     В какое из колец попадет больше точек #5
А библиотеки какие подключать?
sandye51
программист С++
 Аватар для sandye51
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
02.07.2012, 19:58     В какое из колец попадет больше точек #6
Михаил1993,
C++
1
2
#include <iostream>
#include <cmath>
Yandex
Объявления
02.07.2012, 19:58     В какое из колец попадет больше точек
Ответ Создать тему
Опции темы

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