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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.11.2021, 17:41   #1
Nick_Wayne_02
Пользователь
 
Регистрация: 09.11.2021
Сообщений: 12
Вопрос C++, определить принадлежность точки одной из областей

Написать программу на C++, которая определяет номер области, к которой принадлежит точка М с заданными координатами. Пределы областей относить к области с самым большим номером
Изображения
Тип файла: png Снимок экрана 2021-11-09 164034.png (47.1 Кб, 29 просмотров)

Последний раз редактировалось Nick_Wayne_02; 09.11.2021 в 18:07. Причина: C++
Nick_Wayne_02 вне форума Ответить с цитированием
Старый 09.11.2021, 18:01   #2
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,728
По умолчанию

Поскольку необходимый ЯП засекречен, вообразим, как бы это выглядело на ЯСК Паскале.
Код:
if Abs(y) < Abs(x*x*x)  then
   if y>0 then n := 1 else n := 2
else if x<0 then n :=3 else n := 4 ;

Последний раз редактировалось digitalis; 09.11.2021 в 20:07.
digitalis вне форума Ответить с цитированием
Старый 10.11.2021, 13:06   #3
Nick_Wayne_02
Пользователь
 
Регистрация: 09.11.2021
Сообщений: 12
Вопрос

Код:
#include <iostream>
#include <math.h>
#include <string.h>

using namespace std;

int main(){
	float x;
	float y = x*x*x;
	
	cout << "Enter x:";
	cin >> x;
	cout << "Enter y: ";
	cin >> y;
	cout << "N( " << x << " , " << y << " )";

	  if(x < 0 || y > 0){
			cout << "Zone 1";
		}else if(x > 0 || y > 0){
			cout << "Zone 2";
		}else if (x < 0 || y > 0){
			cout << "Zone 3";
		}else if (x > 0 || y < 0)
			cout << "Zone 4";
		return 0;
	}
Правильно ли я расписал условие на C++?

Последний раз редактировалось BDA; 11.11.2021 в 01:16.
Nick_Wayne_02 вне форума Ответить с цитированием
Старый 10.11.2021, 13:13   #4
ForenLi
Форумчанин
 
Регистрация: 02.06.2021
Сообщений: 515
По умолчанию

Конечно нет.
Код:
float x;
float y = x*x*x;
Чему равно x? А y?

Куда из проверки условий делся график функции y = x^3?
ForenLi вне форума Ответить с цитированием
Старый 10.11.2021, 15:39   #5
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,728
По умолчанию

Nick_Wayne_02 А слабо перепереть с Паскаля на ++ ? Логика просматривается легко. Вместо своих фантазий.
digitalis вне форума Ответить с цитированием
Старый 10.11.2021, 21:37   #6
Nick_Wayne_02
Пользователь
 
Регистрация: 09.11.2021
Сообщений: 12
По умолчанию

Я новичок по этим делам

ForenLi, float z равен кубическому x?

digitalis,
Код:
#include <iostream>
#include <math.h>
#include <string.h>

using namespace std;

int main(){
	float x;
	float y;
	float z = x*x*x;
	
	cout << "Enter x:";
	cin >> x;
	cout << "Enter y: ";
	cin >> y;
	cout << "M( " << x << " , " << y << " )";

	  if(y > 0){
			cout << "Zone 1";
		}else if(y > 0){
			cout << "Zone 2";
		}else if (x < 0){
			cout << "Zone 3";
		}else if (x < 0){
			cout << "Zone 4";
		}		
		return 0;
	}
Так ведь?

Последний раз редактировалось BDA; 11.11.2021 в 01:16.
Nick_Wayne_02 вне форума Ответить с цитированием
Старый 10.11.2021, 22:57   #7
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,728
По умолчанию

Молодец. Написал
Код:
 float z = x*x*x;
считая, что совместил определение переменной с оператором присваивания - и полагает, что всё решено. Даже применять этот полученный т.нз. z не стал.
Ещё делаю одну попытку:
Код:
if (Abs(y) < Abs(x*x*x)) 
   { if (y>0) n = 1 ; else n = 2 ; }
else { if (x<0) n =3 else  n = 4 ; }
{} употребил только для любителей фигурных скобок, хотя они и не нужны: else закрывает ближайший к нему if . Разве что для большей наглядности.

Последний раз редактировалось digitalis; 10.11.2021 в 23:07.
digitalis вне форума Ответить с цитированием
Старый 10.11.2021, 23:58   #8
Nick_Wayne_02
Пользователь
 
Регистрация: 09.11.2021
Сообщений: 12
По умолчанию

digitalis, обьясните на понятном языке, что не так в коде сделано?
Nick_Wayne_02 вне форума Ответить с цитированием
Старый 11.11.2021, 01:29   #9
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,431
По умолчанию

Сначала нужно инициализировать переменные (например, запросив ввод пользователя), а потом уже использовать их для расчетов. Вы же рассчитываете значение z, не инициализировав x. В if'ах нет упоминания графика кубической функции, хотя от нее зависит выбор области. У вас несколько if'ов имеют одинаковое условие (в последнем коде) - достижимы будут только "Зона 1" и "Зона 3".
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 11.11.2021, 11:18   #10
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,728
По умолчанию

Цитата:
Сообщение от Nick_Wayne_02 Посмотреть сообщение
digitalis, обьясните на понятном языке, что не так в коде сделано?
Да всё не так! Сравни свой код с моим примером. Попробуй проиграть, как будет работать твой код при разном наборе x,y Где у тебя, как говорит BDA, используется условие y < x^3?
Несколько человек человек говорят об одном и том же - и как рыба об лёд.

Последний раз редактировалось digitalis; 11.11.2021 в 11:22.
digitalis вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определить принадлежность точки области oldproxx Паскаль, Turbo Pascal, PascalABC.NET 19 03.08.2015 17:02
определить принадлежность точки AlexP777 Паскаль, Turbo Pascal, PascalABC.NET 23 08.12.2012 08:13
Определить принадлежность точки к области Fuckkiller Паскаль, Turbo Pascal, PascalABC.NET 2 21.12.2011 23:28
определить принадлежность точки в с++ bigildar Помощь студентам 4 06.11.2011 16:04
Определить принадлежность точки к области. Водонька Помощь студентам 2 02.10.2011 16:47