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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Serdox
0 / 0 / 0
Регистрация: 03.01.2013
Сообщений: 32
#1

Алгоритмизация - C++

04.01.2013, 13:42. Просмотров 417. Ответов 1
Метки нет (Все метки)

Помогите пожалуйста!!
Задан круг с центром в точке О(x0, y0) и радиусом R0 и точка А (x1, y1). Определить месторасположение точки по отношению к кругу (находится внутри круга, вне его или лежит на окружности).
Всё написал, но положение круга не точно находит. Подскажите где ошибка!

Кликните здесь для просмотра всего текста

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
#include "stdafx.h"
#include "stdio.h"
#include "conio.h"
#include "locale.h"
#include "windows.h"
#include "math.h"
 
int _tmain(int argc, _TCHAR* argv[])
{setlocale (0, "Russian");
    double x0, y0, R, x, y, flg=0;
    char key;
    do{
    system ("cls");
     printf("Введите Х0: ");
     scanf("%lf", &x0);
     printf("Введите Y0: ");
     scanf("%lf", &y0);
     printf("Введите R: ");
     scanf("%lf", &R);
     printf("Введите x: ");
     scanf("%lf", &x);
     printf("Введите y: ");
     scanf("%lf", &y);{
      
    if (((x-x0)*(x-x0))+(y-y0)*(y-y0)<R*R) //(pow((x-x0),2)+pow((y-y0),2)<pow(R,2))
          printf("Точка находится внутри круга");
      else if (((x-x0)*(x-x0))+(y-y0)*(y-y0)==R*R)    //(pow((x-x0),2)+pow((y-y0),2)==pow(R,2))
          printf("Точка лежит на окружности");
      else 
          printf("Точка находится вне круга");
         
     }
     key = getch();
    }while(key != 27);
     return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.01.2013, 13:42     Алгоритмизация
Посмотрите здесь:

Алгоритмизация Pascal
Алгоритмизация...
Turbo Pascal алгоритмизация
Алгоритмизация C#
алгоритмизация и программирование Turbo Pascal
C++ Алгоритмизация
Алгоритмизация
Архитектура (алгоритмизация) 1С
алгоритмизация и программирование
Тема научной работы по предмету "Алгоритмизация и программирование" C++
C (СИ) Алгоритмизация и програмирование
C++ алгоритмизация

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
piande
3 / 3 / 0
Регистрация: 26.10.2012
Сообщений: 18
04.01.2013, 14:04     Алгоритмизация #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
#include "stdafx.h"
#include "stdio.h"
#include "conio.h"
#include "locale.h"
#include "windows.h"
#include <cmath>
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{setlocale (0, "Russian");
    double x0, y0, R, x, y;
    char key;
    do{
    system ("cls");
     printf("Введите Х0: ");
     scanf("%lf", &x0);
     printf("Введите Y0: ");
     scanf("%lf", &y0);
     printf("Введите R: ");
     scanf("%lf", &R);
     printf("Введите x: ");
     scanf("%lf", &x);
     printf("Введите y: ");
     scanf("%lf", &y);{
      
    if (((x-x0)*(x-x0))+(y-y0)*(y-y0)<R*R) //(pow((x-x0),2)+pow((y-y0),2)<pow(R,2))
          printf("Точка находится внутри круга");
      else if (((x-x0)*(x-x0))+(y-y0)*(y-y0)==R*R)    //(pow((x-x0),2)+pow((y-y0),2)==pow(R,2))
          printf("Точка лежит на окружности");
      else 
          printf("Точка находится вне круга");
         
     }
     key = getch();
    }while(key != 27);  // Press Esc key!
     system("pause");
     return 0;
}
Работы для меня
X0= 0
Y0= 0
R =10
X = 5
Y = 5
-> внутри круга
X0= 0
Y0= 0
R =10
X = 6
Y = 8
->лежит на окружности
X0= 0
Y0= 0
R =10
X = 8
Y = 8
-> 128>100!
Yandex
Объявления
04.01.2013, 14:04     Алгоритмизация
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru