Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
nell0real
0 / 0 / 1
Регистрация: 31.10.2011
Сообщений: 17
1

Продолжать ввод, пока не получит точку, принадлежащую графику

28.11.2011, 19:06. Просмотров 389. Ответов 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
#include <stdio.h>
#include <iostream>
#include <windows.h>
 int main ()
 {
     SetConsoleCP(1251); 
     SetConsoleOutputCP(1251);
 int x,y;
 bool z;
printf ("Введите 2 числа\n");
scanf("%d,%d",&x,&y);
z=y<=1&&x>=0&&x<=2||
(x*x+y*y<1)&&y>=0&&x>=0||
(x*x+y*y<1)&&x<=0&&y<=0||
(x*x+y*y>1)&&x>=0&&x<=2&&y<=0&&y>=-1;
 
 if (z) printf("Точка с координатами (%d,%d)лежит внутри фигуры \n\n");
else 
{
     printf("Точка не принадлежит фигуре. \n\n\n");
     printf ("Попробуй другое число\n");
     scanf("%d\n,\t%d\n",&x,&y);
     printf("Точка с координатами (%d,%d) лежит внутри фигуры\n\n");
}    
 
    system("color 2D");
    system("PAUSE");
    return 0;
}
Программа работает, но хотелось бы сделать так, чтобы при вводе координат точки (2 числа), не принадлежащих графику, программа просила бы пользователя вновь и вновь вводить числа до тех пор пока не получит точку принадлежащую графику. На 2 картинке видно что после ввода неверных чисел программа запрашивает у меня верные только 1 раз и потом даже при неверных числах выдает их за правильные. каким образом это можно осуществить или дайте что нибудь почитать по этому поводу.
надеюсь что понятно объяснил то, что хочу осуществить.
0
Миниатюры
Продолжать ввод, пока не получит точку, принадлежащую графику   Продолжать ввод, пока не получит точку, принадлежащую графику  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2011, 19:06
Ответы с готовыми решениями:

Ввод, пока не достигнут конец ввода
Доброго времени суток. Нужно заполнить массив, пока не окончен ввод(кол-во...

Ввод чисел по одному в строке, пока не встретится пустая строка
Добрый день! Начали в универе проходить Си. И на дом. задание дали несколько...

найти точку, принадлежащую
дано множество отрезков на прямой. найти точку, которая принадлежит наибольшему...

Найти точку принадлежащую прямой
Имею координаты двух точек, нужно найти точку, которая принадлежит этой прямой....

Сгенерировать случайную точку, принадлежащую полигонув map area
Задание: сгенерировать случайную точку, которая бы лежала внутри полигона area...

2
Байт
Эксперт C
20051 / 12671 / 2664
Регистрация: 24.12.2010
Сообщений: 26,389
28.11.2011, 19:22 2
C
1
2
3
4
5
6
7
8
9
10
11
12
for(z=false; z==false; ) {
printf ("Введите 2 числа\n");
scanf("%d,%d",&x,&y);
z=y<=1&&x>=0&&x<=2||
(x*x+y*y<1)&&y>=0&&x>=0||
(x*x+y*y<1)&&x<=0&&y<=0||
(x*x+y*y>1)&&x>=0&&x<=2&&y<=0&&y>=-1;
 
 if (z) printf("Точка с координатами (%d,%d)лежит внутри фигуры \n\n");
else 
     printf("Точка не принадлежит фигуре. \n\n\n");
}
1
nell0real
0 / 0 / 1
Регистрация: 31.10.2011
Сообщений: 17
28.11.2011, 19:44  [ТС] 3
Цитата Сообщение от Байт Посмотреть сообщение
C
1
2
3
4
5
6
7
8
9
10
11
12
for(z=false; z==false; ) {
printf ("Введите 2 числа\n");
scanf("%d,%d",&x,&y);
z=y<=1&&x>=0&&x<=2||
(x*x+y*y<1)&&y>=0&&x>=0||
(x*x+y*y<1)&&x<=0&&y<=0||
(x*x+y*y>1)&&x>=0&&x<=2&&y<=0&&y>=-1;
 
 if (z) printf("Точка с координатами (%d,%d)лежит внутри фигуры \n\n");
else 
     printf("Точка не принадлежит фигуре. \n\n\n");
}
Введите 2 числа
-1 -1
Точка не лежит внутри фигуры.

Введите 2 числа
Точка не лежит внутри фигуры.

Введите 2 числа
-1 2
Точка не лежит внутри фигуры.

Введите 2 числа
Точка с координатами (2686788,2686784)лежит внутри фигуры

Для продолжения нажмите любую клавишу . . .
________________________________________________________________________________
Что то непонятное он мне выдает.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.11.2011, 19:44

На прямой своими концами заданы N отрезков. Найти точку принадлежащую максимальному числу отрезков
Помогите пожалуйста понять, что от меня хотят и какой(как) разработать алгоритм...

Max232 не передает данные, пока что-нибудь не получит
МикроКомпьютер AT Miko16 через Max232 подсоединён к COM-порту компьютера....

Как задать условие командой, пока объект существует, продолжать действие, иначе - вывести что-либо?
Как задать условие командой, пока объект существует, продолжать действие, иначе...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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