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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.12.2011, 00:45   #1
Alifee
Новичок
Джуниор
 
Регистрация: 16.12.2011
Сообщений: 2
Лампочка Задача. Комбинированные типы.Из Pascal>>C++

Здравствуйте. Это задача уже есть на вашем форуме на языке Pascal
http://programmersforum.ru/showthread.php?t=41215

[ CODE ]Заданы уравнения трех кривых на плоскости,одно из которых содержит
переменный коэффициент k. Кривые пересекаясь,
ограничивают замкнутую область D, размеры которой зависят от значения коэффициента k. На той же плоскости заданы декартовы координаты точек, образующих множество М (координаты задаются произвольно, n не больше 20).
Для каждого из заданных значений k сформировать P - подмножество M, содержащее точки, которые находятся внутри замкнутой области D.

y=1.4*cos(x+0.25) уравнение 1-ой кривой
y^2=k*x уравнение 2-ой кривой, где k от 0.1 до 0.5 и шаг 0.1
y=0.2*x-0.5 уравнение 3-ей кривой
Найти все точки попадающие в заданную область. [ / CODE ]

Мне необходимо перевести ее в C++. Единственное, что получилось сделать и попозже вид переменных заменю:
[ CODE ]
# include <stdio.h>
# include <iostream.h>
# include <conio.h>
# include <math.h>
program CombTypes;
int main();
const
n = 20; \\максимальное количество точек \\

type to4ka = record
x : Real;
y : Real;
end; \\ координаты точек \\

vector = array[1 .. n] of to4ka; \\все точки \\

natural = 1 .. n;

mn = set of natural; \\\множество областей, их по идее 5 \\

var
A : vector;
D : mn;
i, n1 : Integer;
k : Real;
k10 : Integer;
p1, p2, p3 : Real;
First : Boolean;

{
printf('Введите количество точек: ');
getch(n1);
for (int n = 1; n<20; n++)
{
printf('Введите значение абсциссы точки A', i, ': ');
getch(A[i].x);
printf('Введите значение ординаты точки A', i, ': ');
getch(A[i].y);
}
for (int k10 = 1, k10<5; k++)
{
k = k10 / 10;
D = [];
for (int i = 1; i<n1; i++)
{
p1 = 1.4 * cos(A[i].x + 0.25);
p2 = 2 * Sqr(A[i].y);
p3 = 0.2 * A[i].x - k;
if (A[i].y <= p1 && A[i].x >= p2 && (A[i].y >= p3)
{
cout (Include(D, i)

}
printf('При k = 0.', k10, ', D содержит [');
First = True;
for (i = 1;i< n1; n++)
{
if (i in D)
{
if (not First)
{
cout('A ');
printf('A', i);
First = False;
}
}
printf(']');
}
getchar;
[ / CODE ]
Помогите пожалуйста доделать или подсказать, ибо опыт изучения языка невелик, а сдавать скоро.
Alifee вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача. Комбинированные типы. Pascal Nastёna Помощь студентам 11 24.03.2009 19:21
[Pascal] комбинированные типы(задача) Рамик Помощь студентам 7 15.03.2009 17:33
[Pascal] Комбинированные типы Рамик Помощь студентам 4 09.03.2009 18:00
Pascal комбинированные типы Rus 47 Помощь студентам 7 22.02.2009 17:48
Комбинированные типы melikyan Помощь студентам 5 10.02.2009 21:41