Results 1 to 6 of 6
Thread: Ïðîáëåì íà Ñ++
Hybrid View
-
15th December 2008 17:42 #1Registered User
Join Date: Dec:2008
Location: Bulgaria
Posts: 1
Ïðîáëåì íà Ñ++
Çäðàâåéòå!
Èìàì åäíà çàäà÷êà,êîÿòî çàî÷íàõ îáà÷å ñòèãàì äî íÿêúäå è äî òàì.Óñëîâèåòî å:Äà ñå ñúçäàäàò êëàñîâå,îïèñâàùè:ëèíèÿ â ðàâíèíàòà,÷ðåç êîîðäèíàòè íà äâå òî÷êè è òðèúãúëíèê,÷ðåç êîîðäèíàòèòå íà âúðõîâåòå.Êëàñîâåòå äà ñúäúðæàò ìåòîäè çà óðàâíåíèå íà ïðàâà.
#include<iostream.h>
#include<math.h>
class line {
private:
double x1,y1;
double x2,y2;
public:
void input();
void output();
//double length_a();
};
void line::input() {
...........................
...........................
...........................
class triangle {
private:
double x1,y1;
double x2,y2;
double x3,y3;
public:
void Input();
void Output();
double lenght_a();
double lenght_b();
double lenght_c();
// double p();
// double S();
};
Ìíîãî ùå ñúì áëàãîäàðåí àêî óäàðèòå åäíî ðàìî.
-
15th December 2008 18:09 #2
Ðåàëèçèðàé êëàñ çà òî÷êà â ðàâíèíàòà.
Åòî íà÷àëîòî:
class Point
{
public:
double x;
double y;
public:
Point();
Point(const Point&); // êîïè êîíñòðóêòîð
Point(const double x, const double y);
void set(const double x, const double y);
bool operator==(const Point&) const;
bool operator!=(const Point&) const;
Point operator+(const Point&) const;
Point operator-(const Point&) const;
Point& operator+=(const Point&);
Point& operator-=(const Point&);
Point operator*(const double) const;
Point& operator*=(const double);
Point operator/(const double) const;
Point& operator/=(const double);
Point operator-() const;
};
Ñåòíå ñè ïèøåø êëàñà çà ëèíèÿ.
-
12th January 2009 18:06 #3Registered User
Join Date: Jan:2009
Location: Madan
Posts: 1
Çäðàâåéòå!
Ùå âè ïîìîëÿ çà ÑÏÅØÍÀ ÏÎÌÎÙ!
Íå ñúì ìíîãî íàÿñíî, íî òîçè ìåòîä íà ñîðòèðàíå â òàçè ïðîãðàìà íå ìîãà äà ãî ðàçëè÷à êàêúâ å.Áèõòå ëè ìè êàçàëè äàëè å ìåòîä íà ìåõóð÷åòî èëè ïðÿêà ñåëåêöèÿ?
Òðÿáâà äà ðàçáåðà êàêâè ñà òåçè ìåòîäè.Àç ñúì ñúâñåì â íà÷àëîòî è ìíîãî èñêàì äà ãî ðàçáåðà, íî ìîëÿ âè îáÿñíåòå êàêâî òî÷íî ñå ïðàâè.ÌÎËß ÂÈ!
Åòî òîâà å:
#include<iostream.h>
#include<string.h>
struct books
{
int sign, br_ekz;
char first[20],second[30],third[30],title[100];
double price;
} b;
void vhod(books b[], int &n)
{
cout<<"Signaturen nomer na kniga: ";
cin>>b[i].sign;
cout<<"Zaglavie na kniga: ";
cin>>b[i].title;
cout<<"Sobstveno ime na avtora: ";
cin>>b[i].first;
cout<<"Prezime na avtora: ";
cin>>b[i].second;
cout<<"Familiq na avtora: ";
cin>>b[i].third;
do
{
cout<<"Broi ekzemplri na kniga: ";
cin>>b[i].br_ekz;
}
while ( (b[i].br_ekz<1) || (b[i].br_ekz>51) );
}
do
{
cout<<"Edinichna cena:";
cin>>b[i].price;
}
while( (b[i].price<1) || (b[i].price>100) );
}
void sign(books b[],int n)
{
books swap;
double sum[1000],swap2; //sum
for(int i=0;i<n-1;i++)
{
sum[i]=b[i].price*b[i].br_ekz;
for(int j=0;j<n-i-1;j++)
if(b[j].sign>b[j+1].sign)
{
swap=b[j];
swap2=sum[j];
b[j]=b[j+1];
sum[j]=sum[j+1];
b[j+1]=swap;
sum[j+1]=swap2;
}
}
for(int k=0;k<n;k++)
cout<<b[k].sign<<" ";
cout<<b[k].title<<" ";
cout<<b[k].third<<" ";
cout<<b[k].second<<" ";
cout<<b[k].first<<" ";
cout<<b[k].price<<" ";
cout<<b[k].br_ekz<<" ";
cout<<sum[k]<<endl;
}
void sortniz(books b[],int n)
{
double sum[1000];
books swap;
for(int i=0;i<n-1;i++)
for(int j=0;j<n-i-1;j++)
if(sum[j-1]>sum[j])
{
swap=b[j];
b[j]=b[j-1];
b[j-1]=b[j];
}
else
if(sum[j-1]==sum[j])
if(b[j].sign>b[j-1].sign)
{
swap=b[j];
b[j]=b[j-1];
b[j-1]=swap;
}
for(int k=0;k<n;k++)
cout<<b[k].sign<<" ";
cout<<b[k].title<<" ";
cout<<b[k].first[0]<<" ";
cout<<b[k].second[0]<<" ";
cout<<b[k].third<<" ";
cout<<b[k].price<<" ";
cout<<b[k].br_ekz<<" ";
cout<<sum[k]<<endl;
}
void middle(books b[],int n)
{
double sum=0,sr=1;
int br=0;
for(int i=0;i<n;i++)
{
sum+=b[i].price; br++;
}
sr=sum/br;
cout<<endl;
cout<<"Srednata aritmetichna cena e: "<<sr;
}
void author(books b[],int n)
{
double sr;
for(int i=0;i<n;i++)
if(b[i].price>sr && b[i].br_ekz>3)
cout<<endl;
cout<<b[i].first[0]<<endl;
cout<<b[i].second[0]<<".";
cout<<b[i].third<<".";
}
void main()
{
books b[100];
int n;
{
do
{
cout<<endl;
cout<<"Broi knigi: ";
cin>>n;
}
while( (n<4) || (n>5001) );
for(int i=0;i<n;i++)
vhod(b,n);
sign(b,n);
sortniz(b,n);
middle(b,n);
author(b,n);
}
}
-
12th January 2009 22:20 #4
Òóê ñå èçïîëçâà ìåòîä íà ìåõóð÷åòî.  íåãî ïðàâèø ñëåäíîòî - âçåìàø òåêóùèÿ åëåìåíò è ãëåäàø äàëè ñëåäâàùèÿò å ïî-ãîëÿì èëè ïî-ìàëúê. Àêî å ïî-ãîëÿì ãè îñòàâÿø òàêà, íî àêî å ïî-ìàëúê ãè ðàçìåíÿø. È òàêà çà âñåêè åëåìåíò. Ïðè ñîðòèðàíåòî ñ ïðÿêà ñåëåêöèÿ íàìèðàø ìàêñèìàëíèÿ/ìèíèìàëíèÿ åëåìåíò è ãî ñëàãàø íà ïúðâî/ïîñëåäíî ìÿñòî. Òå îáà÷å íå òè òðÿáâàò. Àç ëè÷íî íèêîãà íå ñúì ãè ïîëçâàë, çàùîòî ñà ñúñ ñëîæíîñò O(n^2). Òîåñò àêî èìàø n åëåìåíòà ñîðòèðàíåòî èì îòíåìà n íà êâàäðàò îïåðàöèè. Ïî-äîáðå íàó÷è áúðçî ñîðòèðàíå íà Õîîð, ïèðàìèäàëíî ñîðòèðàíå è ñîðòèðàíå ñúñ ñëèâàíå. À ïúê è âèíàãè ìîæåø äà include-íåø STL-ñêèÿ algorithm èëè stdlib.h è äà èçïîëçâàø sort/qsort.
-
12th January 2009 22:28 #5Registered User
Join Date: Dec:2007
Location: Sofia
Posts: 366
Íàïðàâåí å îïèò çà ðåàëèçèðàíå íà ñîðòèðàíå ïî ìåòîäà íà ìåõóð÷åòî, íî íåóñïåøíî. Ôóíêöèÿòà sortniz() ñúñ ñèãóðíîñò íÿìà äà ðàáîòè ïðàâèëíî.
-
12th January 2009 18:25 #6Banned
Join Date: Oct:2001
Location: Ñîôèÿ, Çîíà Á-5
Posts: 2,637
Îò òàêîâà ñòðàøíî íåùî êàòî C++ êîä íèêîãà íÿìà äà ãî ðàçáåðåø. Íå ìîãà äà ðàçáåðà, çàùî ïðîäúëæàâàò äà ìú÷àò íà÷èíàåùèòå ñ òîâà íåäîðàçóìåíèå. Àêî èñêàø äà ðàçáåðåø êàê ðàáîòè àëãîðèòúìà, îïèòàé âúâ Wikipedia, ñîðòèðàíå ïî ìåòîäà íà ìåõóð÷åòî è ïðÿêà ñåëåêöèÿ.  äâåòå ñòàòèè èìà ïñåâäîêîä, êîéòî å ìíîãîêðàòíî ïî-÷åòèì, êàêòî è îáÿñíåíèå, êàêâà å èäåÿòà. Èíà÷å àç òåçè äâåòå íå ãè ðàçëè÷àâàì, òàêà ÷å íå ìîãà äà òè êàæà, êîå å.




Reply With Quote

Lenovo ThinkPad 15 èëè IdeaPad 15
5th May 2023, 22:16 in Ìîáèëíè êîìïþòðè