С Новым годом! Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 14.12.2017
Сообщений: 2
1

Функция "polarToCartesian(r, phi, x, y)"

24.12.2017, 20:01. Показов 1408. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите решить задачку. Необходимо : "Разработать функцию polarToCartesian(r, phi, x, y),
переводящую полярные координаты точки (r, ) в декартовы
координаты (x, y) (r,  — входные, а x, y — выходные параметры).
В качестве результирующего значения функция должна
возвращать номер четверти, в которой располагается точка; 0, если
точка лежит в начале координат; –1, если точка лежит на оси Ox;
–2, если точка лежит на оси Oy. С помощью этой функции
преобразовать координаты трех заданных пользователем точек из
полярной в декартову систему координат с определением
местоположения точки (той или иной четверти, той или иной оси
координат, начала координат)". Программа при любых значениях переменных выдает один результат : 0 0 для x и y, при этом расположение тоже при всех значениях выдает одно и то же : "Точка лежит в 1-ой четверти". Надеюсь на помощь, ну и объяснения конечно же, ибо ошибку сам найти не могу.
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#include <math.h>
#include <stdio.h>
#include <locale.h>
#include <stdlib.h>
 
int polarToCartesian(float r, float phi, float *x, float *y); // Объявление функции
 
 
void main()
 
{
    setlocale(LC_ALL, "russian"); // Русская локализация
 
    float x, y,r,phi; // Переменные: r, phi-входные параметры; x, y- выходные параметры
 
 
        printf("Введите полярные координаты: \n"); // Ввод переменных r, phi
 
        scanf_s("%f%f", &r, &phi);
 
        polarToCartesian(r, phi, &x, &y);
 
 
    getchar();
 
    getchar();
}
 
 int polarToCartesian(float r, float phi, float *x, float *y) // Функция, переводящая полярные координаты в декартовы
{
    int n = 0; // Переменная, отвечающая за расположение точки
 
    *x = r*cos(phi); // Формула перевода относительно OX
 
    *y = r*sin(phi); // Формула перевода относительно OY
 
    printf("x=%f", &x); // Вывод на экран значения x
 
    printf("y=%f", &y); // Вывод на экран значения y
    
 
   if (x == 0 && y == 0) // Если точка лежит в начале координат
    {
        n = 0;
    }
   if (x != 0 && y == 0) // Если точка лежит на оси OX
    {
        n = -1;
    }
   if (x == 0 && y != 0) // Если точка лежит на оси OY
    {
        n = -2;
    }
   if (x > 0 && y > 0) // Если точка лежит в 1-ой четверти
    {
        n = 1;
    }
   if (x < 0 && y > 0) // Если точка лежит во 2-ой четверти
    {
        n = 2;
    }
   if (x < 0 && y < 0) // Если точка лежит в 3-ей четверти
    {
        n = 3;
    }
   if (x > 0 && y < 0) // Если точка лежит в 4-ой четверти
    {
        n = 4;
    }
 
    switch (n) // Оператор выбора для расположения точки в координатной плоскости 
 
    {
 
    case -2: printf("Точка лежит на оси OY"); break;
 
    case -1: printf("Точка лежит на оси OX"); break;
 
    case 0: printf("Точка является началом координат"); break;
 
    case 1: printf("Точка лежит в 1-ой четверти"); break;
 
    case 2: printf("Точка лежит во 2-ой четверти"); break;
 
    case 3: printf("Точка лежит в 3-ей четверти"); break;
 
    case 4: printf("Точка лежит в 4-ой четверти"); break;
 
    }
 
    return n;
 
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.12.2017, 20:01
Ответы с готовыми решениями:

Функция "polarToCartesian(r, phi, x, y)"
#include &lt;stdio.h&gt; #include &lt;locale.h&gt; #include &lt;math.h&gt; #include &lt;windows.h&gt; int...

Найти разность потенциалов phi(c) - phi (в)
Прошу помочь с заданиями, так как времени мало, а физика для меня... ужас:cry: В схеме E1 = 12В,...

phi(x)
помогите найти fi(x) x=

Задания интервала phi у косинуса
Нужно выводить значение cos(phi) phi принадлежит \left и \left как запрограммировать этот...

1
1272 / 1029 / 470
Регистрация: 25.12.2016
Сообщений: 3,333
24.12.2017, 20:25 2
x и y в функции polarToCartesian это указатели, перед ними нужно ставить звёздочку. В printf не нужен амперсанд.

Но лучше хранить значения x и y в обычных переменных, а перед выходом из функции присваивать их указателям. Тогда не придётся писать кучу звёздочек.
0
24.12.2017, 20:25
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.12.2017, 20:25
Помогаю со студенческими работами здесь

Конфигурация со 100%ой поддержкой Intel Xeon Phi 5110p
Собственно всё условие в топике. Есть уже купленный сопроцессор, планируется разработка...

Intel опубликовала спецификации новых сопроцессоров серии Xeon Phi
Корпорация Intel опубликовала спецификации новых сопроцессоров серии Xeon Phi бюджетной серии 3100...

Есть тут кто работает с++ + intel xeon phi 5110p ?
Добрый день, хотел бы пообщаться на эту тему, кто пишет на с++ уже софт и занимается отладной...

Определить углы \theta и \phi для кубита в заданном состоянии на блоховской сфере
Дано состояние кубита: | \Psi &gt; = 4/5 |0&gt; - 3/5 i |1&gt; Необходимо найти углы \theta и \phi . ...

Рассмотрим десятичную запись дробной части числа phi. Сколько цифр '3' находится на позициях от 1901 до 1999 включительно
Рассмотрим десятичную запись дробной части числа phi (золотое сечение). Позиции цифр в нумеруются...

Написать функцию int phi(int n), которая по данному натуральному n возвращает φn
10. Последовательность Фибоначчи определена следующим образом: φ0=1, φ1=1, φn=...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Что такое CQRS и как это реализовать на C# с MediatR
InfoMaster 15.01.2025
Концепция CQRS и её роль в современной разработке В современном мире разработки программного обеспечения архитектурные паттерны играют ключевую роль в создании масштабируемых и поддерживаемых. . .
Как настроить CI/CD с Azure DevOps
InfoMaster 15.01.2025
CI/ CD, или непрерывная интеграция и непрерывное развертывание, представляет собой современный подход к разработке программного обеспечения, который позволяет автоматизировать и оптимизировать процесс. . .
Как настроить CI/CD с помощью Jenkins
InfoMaster 15.01.2025
Введение в CI/ CD и Jenkins В современной разработке программного обеспечения непрерывная интеграция (CI) и непрерывная доставка (CD) стали неотъемлемыми элементами процесса создания качественных. . .
Как написать микросервис на Go/Golang с Kafka и GitHub CI/CD
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
Как написать микросервис с нуля на C# с RabbitMQ, CQRS и CI/CD
InfoMaster 14.01.2025
В современном мире разработки программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот архитектурный подход предполагает. . .
Как создать интернет-магазин на PHP и JavaScript
InfoMaster 14.01.2025
В современном мире электронная коммерция стала неотъемлемой частью бизнеса. Создание собственного интернет-магазина открывает широкие возможности для предпринимателей, позволяя достичь большей. . .
Как написать Тетрис на Ассемблере
InfoMaster 14.01.2025
Тетрис – одна из самых узнаваемых и популярных компьютерных игр, созданная в 1984 году советским программистом Алексеем Пажитновым. За прошедшие десятилетия она завоевала симпатии миллионы людей по. . .
Как создать игру "Танчики" на Unity3d и C#
InfoMaster 14.01.2025
Разработка игр – это увлекательный процесс, сочетающий в себе творчество и технические навыки. В этой статье мы рассмотрим создание классической игры "Танчики" с использованием Unity3D и языка. . .
Организую платный онлайн микро-курс по доработке Android-клиента Telegram
_Ivana 14.01.2025
Официальная версия и распространенные форки не полностью устраивают? Сделай свою кастомную версию клиента! 4 занятия по 2 часа (2 недели пн, ср 19:00-21:00 по Москве). Первое вводное занятие. . .
Как создать приложение для фитнеса для iOS/iPhone на Kotlin
InfoMaster 14.01.2025
Создание собственного фитнес-приложения — это не только захватывающий, но и полезный процесс, ведь оно может стать вашим верным помощником на пути к здоровому и активному образу жизни. В современных. . .
Как создать приложение магазина для iOS/iPhone на Swift
InfoMaster 14.01.2025
Введение в разработку iOS-приложений Разработка приложений для iPhone и других устройств на базе iOS открывает огромные возможности для создания инновационных мобильных решений. В данной статье мы. . .
Это работает. Скорость асинхронной логики велика. Вопрос видимо останется в стабильности. Плата - огонь!
Hrethgir 13.01.2025
По прошлому проекту в Logisim Evolution https:/ / www. cyberforum. ru/ blogs/ 223907/ blog8781. html прилагаю файл архива проекта в Gowin Eda. Восьмибитный счётчик из сумматора+ генератор сигнала. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru