Компьютерный форум NoWa.cc Здесь может быть Ваша реклама
Правила Форума
редакция от 22.06.2020
Портал .::2BakSa.WS::.
Вернуться   Компьютерный форум NoWa.cc > В помощь вебмастеру > Программирование > Borland C++ Builder

Уважаемые пользователи nowa.cc и 2baksa.ws. У нас сложилось тяжёлое финансовое положение. Мы работаем для вас вот уже более 15 лет и сейчас вынуждены просить о помощи. Окажите посильную поддержку проектам. Мы очень надеемся на вас. Реквизиты для переводов ниже.
Webmoney Webmoney WMZ: 826074280762 Webmoney WME: 804621616710
PayPal PayPal_Email E-mail для связи по вопросу помощи
Кошелёк для вашей помощи YooMoney 4100117770549562
YooMoney Спасибо за поддержку!
Ответ
 
Опции темы Опции просмотра Language
Старый 01.04.2010, 20:18   #1
Постоялец
 
Аватар для MR_Andrew
 
Пол:Мужской
Регистрация: 21.03.2008
Адрес: Киев
Сообщений: 381
Репутация: 768
По умолчанию С++: работа с классами и списками

Добрый день... Уже падаю от усталости, поэтому прошу Вашей помощи

Суть того, что надо сделать:
Проверить, находится ли точка внутри круга радиусом r с центром в точке с координатами (1,1) или нет; координаты заданы массивами X(10), Y(10).

Задание, в принципе, простое, но его надо делать классами.... Боролся-боролся - все, больше не могу...

Вот наработка:
Код:
#include <iostream.h>
#include <math.h>
#include <stdlib.h>
#include <stdio.h>
 
 
class TPoint
{
    public:
    int x,y;
 
};
 
int main()
 
{
TPoint Points[10];
int x[10], y[10], i;
 
rand();
double r,k;
 
 
 
for (int i=0; i<10; i++)
{
 
x[i] = rand() %10;
y[i] = rand() %10;
 
}
 
Points[i].x; Points[i].y;
 
 
 
 
cout <<"Vveite radius r= ";
cin >>r;
 
for (i=0; i<10; i++)
{
  x = Points[i].x[i];
  y = Points[i].y[i];
 
 
  k=sqrt((x[i-1])*(x[i-1])+(y[i-1])*(y[i-1]));
 
}
 
if (k>r)
{
cout <<" \nTo4ka z koord x= "<< x[i] <<" y= "<< y[i] <<" Za kolom ";
}
else
{
cout <<" \nTo4ka z koord x= "<< x[i] <<" y= "<< y[i] <<" V koli ";
}
 
cout<<"\nVidstan' vid tsentru do to4ku= "<<k<<"\n";
 
system("PAUSE");
return (0);
}
И оно не работает. И класс я не корректно сделал. Лучше бы класс "круг" и его применять. Причем сюда бы еще, желательно, прикрутить операторы New и Delete. Это первое. А второе - это сделать абсолютно то же задание, только со списками вместо классов. Или, на крайний случай, со структурами. Если списками - то это должен быть как бы поток, то есть (так объяснили): голова, хвост и туловище. Элементы можно удалять, перемещать. Двунаправленный список одним словом. А как его - ума не приложу

но сейчас надо СРОЧНО сделать классы, кому не сложно: помогите, пожалуйста.

Заранее благодарен
MR_Andrew вне форума
 
Ответить с цитированием Вверх
Здесь может быть Ваша реклама
Здесь может быть Ваша реклама


Реклама: Напольные зеркала Мебеликхризантема бигудиПлетеные кресла из искусственного ротангакупить пластиковый столкруиз из москвы на теплоходе 2024 на июль


Старый 01.04.2010, 21:28   #2
Yakovko
Неактивный пользователь
 
Регистрация: 01.04.2010
Сообщений: 1
Репутация: 1
По умолчанию Re: С++: работа с классами и списками

#include <iostream.h>
#include <math.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>

class TPoint
{
public:
int x, y;
double RangeTo(TPoint p1)
{
int dx = p1.x - this->x;
int dy = p1.y - this->y;
return sqrt( dx*dx + dy*dy );
}

};

void main()
{
clrscr();
TPoint circleCenter;
circleCenter.x = 1;
circleCenter.y = 1;
TPoint point;
point.x = 4;
point.y = 5;
double r = 4;
cout << ((point.RangeTo(circleCenter) <= r) ? "IN":"OUT");
getchar();
}

Последний раз редактировалось Yakovko; 01.04.2010 в 21:31..
Yakovko вне форума
 
Ответить с цитированием Вверх
Старый 01.04.2010, 21:34   #3
MR_Andrew
Постоялец
 
Аватар для MR_Andrew
 
Пол:Мужской
Регистрация: 21.03.2008
Адрес: Киев
Сообщений: 381
Репутация: 768
По умолчанию Re: С++: работа с классами и списками

Yakovko, огромное спасибо! А по проще? А то int dx = p1.x - this->x;
int dy = p1.y - this->y; -для меня вообще тайна...
MR_Andrew вне форума
 
Ответить с цитированием Вверх
Старый 03.04.2010, 02:10   #4
MR_Andrew
Постоялец
 
Аватар для MR_Andrew
 
Пол:Мужской
Регистрация: 21.03.2008
Адрес: Киев
Сообщений: 381
Репутация: 768
По умолчанию Re: С++: работа с классами и списками

Yakovko, что-то не работает.... Code blocks ругается, а Borland C++ 3.1 выдает только OUT. ничего не считает...
MR_Andrew вне форума
 
Ответить с цитированием Вверх
Старый 04.04.2010, 19:39   #5
MR_Andrew
Постоялец
 
Аватар для MR_Andrew
 
Пол:Мужской
Регистрация: 21.03.2008
Адрес: Киев
Сообщений: 381
Репутация: 768
По умолчанию Re: С++: работа с классами и списками

Ну неужели никто не может сказать, чего оно не работает? (я про программу от Yakovko).
MR_Andrew вне форума
 
Ответить с цитированием Вверх
Старый 12.01.2011, 13:49   #6
westnick2
Новичок
 
Пол:Мужской
Регистрация: 25.11.2009
Сообщений: 5
Репутация: 0
По умолчанию Re: С++: работа с классами и списками

Цитата:
Сообщение от MR_Andrew Посмотреть сообщение
Ну неужели никто не может сказать, чего оно не работает? (я про программу от Yakovko).

Программа довольно проста. Если у Вас что-то не работает, то указывайте сообщение об ошибке, которое выдает компилятор, иначе не понятно.
westnick2 вне форума
 
Ответить с цитированием Вверх
Старый 12.01.2011, 13:50   #7
MR_Andrew
Постоялец
 
Аватар для MR_Andrew
 
Пол:Мужской
Регистрация: 21.03.2008
Адрес: Киев
Сообщений: 381
Репутация: 768
По умолчанию Re: С++: работа с классами и списками

westnick2, Вы на дату создания темы посмотрите ;) Уже больше чем пол года не актуально
MR_Andrew вне форума
 
Ответить с цитированием Вверх
Старый 30.01.2011, 15:41   #8
Naz1k
Неактивный пользователь
 
Пол:Мужской
Регистрация: 25.01.2011
Сообщений: 2
Репутация: 0
Unhappy Re: С++: работа с классами и списками

PHP код:
#include <iostream.h>
#include <fstream.h>
struct KARTA
{
    
char symvols;
    
KARTA *next;
    
KARTA *prev;
};
void print(KARTA *,KARTA *);
void insert(KARTA *,char);
void main()
{
    
KARTA *vslov,*vlan;
    
vslov=new KARTA;
    
vslov->next=vslov;
    
vslov->prev=vslov;
    
vlan=vslov;
    
char s;
    while((
s=cin.get())!=EOF)
    {
        
insert(vlan,s);
        
vlan=vlan->next;
    }
    print(
vlan,vslov);

}

void insert(KARTA *lanka,char s)
{
    
KARTA *temp;
    
temp=new KARTA;
    
temp->symvols=s;
    
temp->next=lanka->next;
    
temp->prev=lanka;
    
lanka->next->prev=temp;
    
lanka->next=temp;
}
void print(KARTA *lanka,KARTA *begin)
{
    while(
lanka!=begin)
    {
        
cout<<lanka->symvols;
        
lanka=lanka->next;
    }

Почему сдесь ввод сиволов никогда не заканчивается?????
Или у меня что то с BORLANDC не так???
Naz1k вне форума
 
Ответить с цитированием Вверх
Ответ

Опции темы
Опции просмотра

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с .CUE Olegaaator Просмотр, конверторы и монтаж Аудио&Видео 11 08.01.2011 16:00
Работа с PHP Tipsan PHP 8 10.09.2008 03:56
Free Mailing List Splitter - управления почтовыми списками Risovod Интернет и Сети 0 05.03.2008 21:57

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 11:56. Часовой пояс GMT +3.


Copyright ©2004 - 2024 2BakSa.WS

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
Время генерации страницы 0.16823 секунды с 13 запросами