#include <algorithm>
#include <vector>
#include <string>
#include <iomanip>
^ ეს ყველა ბიბლიოთეკა ზედმეტია (1);
ახლა, რაც შეეხება შეცდომას, მთავარ ფუნქციაში ანუ ჯერ ქმნი კლასს A და მერე შემოგაქვს რიცხვები ფაილიდან, ანუ რეალურად A მასივი არ არის გავსებული იმ რიცხვებით რომელიც ფაილშია.
(არვიცი სწორად ავხსენი თუ არა, მარა მე ასე გავიგე :ს)
ესეც შესწორებული კოდი, ნახე

)
» სპოილერის ნახვისთვის დააწკაპუნეთ აქ «
#include <iostream>
#include <fstream>
using namespace std;
class rectange
{
public:
rectange(double x,double y) : sigdze(x),sigane(y){ };
double area();
double sigdze;
double sigane;
void printrectange();
};
double rectange::area()
{
return sigdze*sigane;
}
void rectange::printrectange()
{
cout<<area()<<endl;
}
int main ()
{
double a;
double b;
ifstream fin("data.txt");
fin>>a>>b;
rectange A(a, b);
fin>>a>>b;
rectange B(a, b);
fin>>a>>b;
rectange C(a, b);
rectange * min =&A;
if(B.area()<min->area())
min = &B;
if(C.area()<min->area())
min = &C;
min->printrectange();
cout<<endl;
system ("pause");
return 0;
}
და ჰო დაკოპირებისას გაითვალისწირენ მე data.txt მიწერია

)
და პოინტერების გარეშეც შეგეძლო დაგეწერა უფრო მარტივად (ყოველშემთხვევაში ეს ჩემისუბიექტურია აზრია

)
» სპოილერის ნახვისთვის დააწკაპუნეთ აქ «
#include <iostream>
#include <fstream>
using namespace std;
class rectange
{
public:
double sigrdze;
double sigane;
rectange(double x, double y)
{
sigrdze = x;
sigane = y;
}
rectange ()
{
sigrdze = 0;
sigane = 0;
}
double area()
{
return sigrdze*sigane;
}
void printrectange()
{
cout<<"Area is "<<area()<<endl;
}
};
int main ()
{
double a;
double b;
ifstream fin("data.txt");
fin>>a>>b;
rectange A(a,b);
fin>>a>>b;
rectange B(a, b);
fin>>a>>b;
rectange C(a, b);
rectange min;
min = A;
if(B.area()<min.area())
min = B;
if(C.area()<min.area())
min = C;
min.printrectange ();
cout<<endl;
system ("pause");
return 0;
}
This post has been edited by tichooo on 12 Jan 2013, 20:19