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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.10.2011, 10:12   #1
airesjke
Пользователь
 
Регистрация: 29.10.2011
Сообщений: 24
Радость

Я delphi учил и паскаль одновременно а сейчас на С++ путаюсь очень...
На плоскости XOY задана своими координатами точка. А Указать где, она расположена: на какой ОСИ или в какой координатной четверти

хелп ми плз все досконально

Точка(А)
аше сообщение слишком короткое. Оно должно быть не менее 10 символов.

Последний раз редактировалось Stilet; 30.10.2011 в 11:10.
airesjke вне форума Ответить с цитированием
Старый 30.10.2011, 11:11   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А как в паскале это выглядит?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.10.2011, 11:17   #3
airesjke
Пользователь
 
Регистрация: 29.10.2011
Сообщений: 24
По умолчанию

Вот именно помогите ;((

Напишите эту задачу
На C++
Прошу вас вопрос жизни и смерти...

На плоскости XOY задана своими координатами точка(А). Указать где, она расположена: на какой ОСИ или в какой координатной четверти

Последний раз редактировалось Stilet; 30.10.2011 в 11:53.
airesjke вне форума Ответить с цитированием
Старый 30.10.2011, 11:54   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Напиши задачу на паскале - мы переведем в Си
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.10.2011, 12:04   #5
airesjke
Пользователь
 
Регистрация: 29.10.2011
Сообщений: 24
По умолчанию 11111111

{
int x,y;
cout << "Input X:" << "\n";
cin >> x;
cout << "Input Y:" << "\n";
cin >> y;
if (x > 0 && y > 0)
{
cout << "1 quarter" << "\n";
}
else if (x < 0 && y > 0)
{
cout << "2 quarter" << "\n";
}
else if (x < 0 && y < 0)
{
cout << "3 quarter" << "\n";
}
else if (x > 0 && y < 0)
{
cout << "4 quarter" << "\n";
}
else if (x != 0 && y == 0)
{
cout << "X axis" << "\n";
}
else if (x == 0 && y != 0)
{
cout << "Y axis" << "\n";
}
else
{
cout << "Center of coordinate" << "\n";
}
system("pause");
вот на си написал
но она не работает можно укоротить или по простому сделать еще?
airesjke вне форума Ответить с цитированием
Старый 30.10.2011, 13:13   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Работает. Вот результат:
Цитата:
Input X:
-5
Input Y:
8
2 quarter
Для продолжения нажмите любую клавишу . . .
Проверял на VS2010.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.10.2011, 14:35   #7
An1ka
C++,DirectX/OpenGL
Форумчанин
 
Регистрация: 09.01.2011
Сообщений: 422
По умолчанию

Цитата:
Сообщение от airesjke Посмотреть сообщение
вот на си написал
Это не на Си. Библиотека iostream - это С++.
Цитата:
Сообщение от airesjke Посмотреть сообщение
можно укоротить или по простому сделать еще?
С помощью массива указателей на функции
Код:
bool quarter1( int x, int y) { return x > 0 && y > 0; }
bool quarter2( int x, int y) { return x < 0 && y > 0; }
bool quarter3( int x, int y) { return x < 0 && y < 0; }
bool quarter4( int x, int y) { return x > 0 && y < 0; }
bool axisX( int x, int y) { return !x && y; }
bool axisY( int x, int y) { return x && !y; }
bool center( int x, int y) { return !x && !y; }

const char *result[] = { "1 quarter", "2 quarter", "3 quarter", "4 quarter", "X axis", "Y axis", "Center of coordinate"};
bool ( *check_quarter[])(int,int) = { quarter1, quarter2, quarter3, quarter4, axisX, axisY, center};

#include <iostream>
using std::cin;
using std::cout;

int main()
{
	int x,y;
	cout << "Input X: ";
	cin >> x;
	cout << "Input Y: ";
	cin >> y;
	for( int i =0; i < 7; ++i)
		if ( check_quarter[i]( x, y)) { 
			cout << result[i] << std::endl;
			break;
		}
	system("pause");
	return 0;
}
An1ka вне форума Ответить с цитированием
Старый 30.10.2011, 14:54   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
или по простому сделать еще?
An1ka, ИМХО по простому не вышло... Лучше, круче, но не проще
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.10.2011, 15:09   #9
An1ka
C++,DirectX/OpenGL
Форумчанин
 
Регистрация: 09.01.2011
Сообщений: 422
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
An1ka, ИМХО по простому не вышло... Лучше, круче, но не проще
Разве массив и цикл перебора это не просто? =) Созерцать длиннющие лесенки из if else if else if esle... никак не проще !!!
An1ka вне форума Ответить с цитированием
Старый 30.10.2011, 17:28   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Проще. Для меня, тебя. Действительно проще, и гораздо эффективнее в плане масштабируемости.
Но врядли автору так будет понятнее
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Еще одна задачка. andrey_94 Общие вопросы C/C++ 6 23.12.2009 12:58
еще одна задачка koston Помощь студентам 4 09.04.2008 18:43
Еще одна задача felice Паскаль, Turbo Pascal, PascalABC.NET 2 03.02.2008 14:32
еще одна задача в BP Jasper Паскаль, Turbo Pascal, PascalABC.NET 2 05.12.2006 15:13