Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.02.2015, 00:12   #1
jinos
Пользователь
 
Регистрация: 12.11.2014
Сообщений: 20
По умолчанию Задачи на ветвления С++

1 Определить попадает ли точка в график функции

2 Определить попадает ли точка в заштрихованную область
Изображения
Тип файла: jpg 1.jpg (70.2 Кб, 116 просмотров)
Тип файла: jpg 2.jpg (77.2 Кб, 129 просмотров)

Последний раз редактировалось jinos; 11.02.2015 в 00:16.
jinos вне форума Ответить с цитированием
Старый 11.02.2015, 07:25   #2
challengerr
Участник клуба
 
Аватар для challengerr
 
Регистрация: 30.07.2008
Сообщений: 1,601
По умолчанию

Задача 32
Код:
#include <stdio.h>
#include <math.h>

void main()
{
float R, x0, y0, x1, y1, f;

R = 2.0;
x0 = -0.61;
y0 = 0.61;

printf("R:%f\n(x0, y0): (%f %f)\n", R, x0, y0);

if (x0 < 0 && y0 > 0) { x1 = R + x0; y1 = R - y0; }
else if (x0 < 0 && y0 < 0) { x1 = R + x0; y1 = R + y0; }
else if (x0 > 0 && y0 < 0) { x1 = R - x0; y1 = R + y0; }
else if (x0 > 0 && y0 > 0) { x1 = R - x0; y1 = R - y0; }

printf("x1:%f y1:%f\n", x1, y1);

f = sqrt ( x1*x1 + y1*y1 );

printf("f: %f\n", f);

if (f > R)
printf("-\n");

}
"SPACE.THE FINAL FRONTIER.This's a voyage of starship Enterprise. It's 5-year mission to explore strange new worlds,to seek out new life and civilizations,to boldly go where no man has gone before"
challengerr вне форума Ответить с цитированием
Старый 11.02.2015, 09:02   #3
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Код:
#include <iostream>
#include <cmath>

int main() {
	float x, y, r;
	std::cin >> x >> y >> r;
	
	bool result = false;
	do {
		if (x*y > 0)
			break;
		
		x = fabs(x), y = fabs(y);
		
		if (x > r || y > r)
			break;
		
		x -= r, y -= r;
		
		if (x*x  + y*y < r*r)
			break;
		
		result = true;
	} while (false);
	
	if (result) {
		std::cout << "yes\n";
	}
	else {
		std::cout << "no\n";
	}
}

Последний раз редактировалось rrrFer; 11.02.2015 в 09:04.
rrrFer вне форума Ответить с цитированием
Старый 11.02.2015, 16:46   #4
challengerr
Участник клуба
 
Аватар для challengerr
 
Регистрация: 30.07.2008
Сообщений: 1,601
По умолчанию

Задача 12
Код:
#include <stdio.h>

int line(float x1, float y1, float x2, float y2, float x0, float y0)
{
float a, b, c;

a = y1 - y2;
b = x2 - x1;
c = x1*y2 - x2*y1;

if (x0*a + y0*b + c == 0)
return 1;

return 0;
}

int circle(float x1, float y1, float r,  float x0, float y0)
{
if ( (x0 - x1)*(x0 - x1) + (y0 - y1)*(y0 - y1)  == r*r)
return 1;

return 0;
}


void main()
{
int result;
float x, y;

result = 0;
x = 0.0;
y = 2.0;


if (x < -7) {  }
else if (x >= -7 && x < -6) { if (y == 2) { result = 1;} }
else if (x >= -6 && x < -2) { result = line(-6.0,-1.0, -2.0, 0.0, x, y); }
else if (x >= -2 && x <= 0) { result = circle(-2.0, 2.0, 2.0, x, y);  }
else if (x > 0 && x <= 2) { result = circle(0.0, 0.0, 2.0, x, y);}
else if (x > 2 && x <= 3) { result = line(2.0, 0.0, 3.0, -1.0, x, y);}
else if (x > 3) { }

printf("result:%d\n", result);

}
"SPACE.THE FINAL FRONTIER.This's a voyage of starship Enterprise. It's 5-year mission to explore strange new worlds,to seek out new life and civilizations,to boldly go where no man has gone before"
challengerr вне форума Ответить с цитированием
Старый 11.02.2015, 18:25   #5
jinos
Пользователь
 
Регистрация: 12.11.2014
Сообщений: 20
По умолчанию

Цитата:
Сообщение от challengerr Посмотреть сообщение
Задача 32
Код:
#include <stdio.h>
#include <math.h>

void main()
{
float R, x0, y0, x1, y1, f;

R = 2.0;
x0 = -0.61;
y0 = 0.61;

printf("R:%f\n(x0, y0): (%f %f)\n", R, x0, y0);

if (x0 < 0 && y0 > 0) { x1 = R + x0; y1 = R - y0; }
else if (x0 < 0 && y0 < 0) { x1 = R + x0; y1 = R + y0; }
else if (x0 > 0 && y0 < 0) { x1 = R - x0; y1 = R + y0; }
else if (x0 > 0 && y0 > 0) { x1 = R - x0; y1 = R - y0; }

printf("x1:%f y1:%f\n", x1, y1);

f = sqrt ( x1*x1 + y1*y1 );

printf("f: %f\n", f);

if (f > R)
printf("-\n");

}
Что такое f?
jinos вне форума Ответить с цитированием
Старый 11.02.2015, 18:29   #6
challengerr
Участник клуба
 
Аватар для challengerr
 
Регистрация: 30.07.2008
Сообщений: 1,601
По умолчанию

Цитата:
Сообщение от jinos Посмотреть сообщение
Что такое f?
Расстояние от центра окружности до точки. Если оно меньше радиуса, то значит точка внутри окружности. Если больше радиуса, то вне окружности.
"SPACE.THE FINAL FRONTIER.This's a voyage of starship Enterprise. It's 5-year mission to explore strange new worlds,to seek out new life and civilizations,to boldly go where no man has gone before"
challengerr вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ветвления AK55 Паскаль, Turbo Pascal, PascalABC.NET 4 06.05.2013 19:03
Ветвления Евгений2508 Помощь студентам 0 15.10.2012 12:22
Ветвления Евгений2508 Помощь студентам 1 14.10.2012 09:50
[С+] задачи на ветвления, подпрограммы и массивы. Anvye Помощь студентам 2 10.05.2011 16:13
Задачи с использованием ветвления n01R Помощь студентам 12 16.01.2008 11:54