ЗАДАЧА преобразование дертовых координат в полярные и наоборот
Primary tabs
1. Дано
#include <cmath> // точка на плоскости в декартовой системе координат typedef struct { double x, y; } DPoint; // точка на плоскости в полярной системе координат typedef struct { double r, fi; Ppoint;
Написать функции
PPoint DPointoToPPoint(DPoint dp); DPoint PPointoToDPoint(PPoint pp);
выполняющие преобразования точки между различными системами координат.
2. Формулы
от полярных координат r и tg(fi) к декартовым x, y: x = r cos (fi); y = r sin (fi);
от декартовых к полярным: r = (x*x + y*y)^0,5; tg (fi) = y\x;
3. План работы:
/* основная функция void main считывает с клавиатуры знак "d" или "p". от которого будет зависеть исходная система координат вводимой точки. если был введен знак "d", значит будет произведено преобразование декартовой системы координат в полярную (если же "p" - то наоборот) - (это есть условие выполнения программы в первом или втором порядке). после этого main выводит напоминание "введите ДЕКАРТОВЫ координаты" (или же "введите ПОЛЯРНЫЕ координаты"), считывает с клавиатуры координаты точки, присваивает их значения двум переменным "х" и "у". далее вызов PPoint(х, у), кторая вернет видоизмененные значения - полярные координаты. вывод на экран. точно так же при выполнении условия с "p". функция PPoint - преобразует декартовы в полярные за основу берутся формулы r = (x*x + y*y)^0,5 и tg fi = y\x; функция DPoint - преобразует полярные в декартовы основана на формулах x = r cos fi и y = r sin fi; обе функции должны возвращать два значения - реализуется либо работой с указателями на значения, либо функция будет возвращать всю структуру */
читаем про структуры, typedef
http://www.cyberforum.ru/cpp-beginners/t...
http://dvo.sut.ru/libr/cvti/i618buz/12.htm
http://life-prog.ru/view_zam.php?id=229&...
http://www.uchi-it.ru/9/8/14.html
освежаем память об указателях.
http://programmersclub.ru/20/
http://code-live.ru/post/cpp-pointers/
как обратиться к элементу структуры -
typedef struct { double x, y; } DPoint; void main() { DPoint Т; // создаем элемент Т типа DPoint Т.x = 1; // "подэлемент" х элемента Т - то е. элемент структуры Т типа DPoint приравняли к 1. //таким образом с ним можно работать как с обычной переменной Т.у = 2; // аналогично вышесказанному. // обращение к указателю на элемент структуры - так же, но вместо точки "стрелочка", вот такая: -> getch (); }
про обращение к элементу структуры можно подробнее прочесть тут - http://ci.gym5cheb.ru/p35aa1.html
- Log in to post comments
- 20626 reads
yii-primer
Thu, 01/31/2013 - 09:55
Permalink
хм, подсвечивать не умеете -
хм, подсвечивать не умеете - и вообще как-то "почитабельнее" неплохо бы)
baton
Sun, 02/17/2013 - 12:22
Permalink
костяк программы
пишу функции, ною что не получается и через какое-то время сдаю задачу
baton
Thu, 02/21/2013 - 23:36
Permalink
нерабочая версия. что не работает - конечно не знаю
........... пользуясь возможностью редактировать посты, удаляю ту срамоту, что была здесь написана......
baton
Wed, 02/20/2013 - 20:32
Permalink
полурабочая версия
эта прога работает.
но функции не возвращают значения (чего я хочу добиться) а сразу распечатывают координаты.
считаю этот код неплохим промежуточным результатом.
baton
Wed, 02/27/2013 - 12:12
Permalink
готовая задача
полностью готовый рабочий код. функции возвращают нужные значения - с ними можно продолжать работу после завершения функций - что и требовалось написать.