Jump to content

Recommended Posts

ეგ მასწავლიდა პრაქტიკულზეც და ლაბორატიულზეც,საერთოდ ვერაფერს გვაგებინებდა .

ალგორიტმებზე ქურდიანი კი საერთოდ კატასტროფა იყო :(

კი ორი მქონდა ხოლმე შექმნილი,არ უნდა შემექმნა?

ქურდიანი ბოლო მოდელის *ლეა.

 

არა, ორზე არ მუშაობს. ერთ პროექტში ორი ცალი მთავარი cpp ფაილი რომ გაქვს რანაირად იმუშავებს.

  • Upvote 1
Link to comment
Share on other sites

ქურდიანი ბოლო მოდელის *ლეა.

 

არა, ორზე არ მუშაობს. ერთ პროექტში ორი ცალი მთავარი cpp ფაილი რომ გაქვს რანაირად იმუშავებს.

ეგ არ ვიცოდი (ახალი ვარ :D )

Link to comment
Share on other sites

  • 6 months later...

კლასები დავამუღამე ასე თუ ისე.

კომპოზიციებზე ვმუშაობდი და ასეთი დასკვნა გამოვიტანე ჩემით:
თუ მეორე კლასში,პირველი კლასსის ობიექტს შევქმნით მაშინ ამ ობიექტს შეეძლება გამოიყენოს პირველი კლასის  public ფუნქციები ,ხოლო თუ დავუმეგობრებთ მაშინ private ტიპებიც  .  ოპერატორით და მონაწილეობა მიიღოს მეორე კლასის ყველა ფუნქციაში,მოხდეს მისი ინიციალიზება კონსტრუქტორში და ა.შ.

ამასთნ რაში გამიჩნდა კითხვა ,პირველ კლასში როცა ვქმნი მეორე კლასის ობიექტს შცდომას აგდებს და თუ მეოე კლასში გავაკეთებ განაცხადს პირველი კლასის ობიექტზე ამაზე არაფერს მეუბნება.

რამეს არასწორად ვაკეთებ? თუ უბრალდო ასეთი წესია?

Link to comment
Share on other sites

კლასები დავამუღამე ასე თუ ისე.

კომპოზიციებზე ვმუშაობდი და ასეთი დასკვნა გამოვიტანე ჩემით:

თუ მეორე კლასში,პირველი კლასსის ობიექტს შევქმნით მაშინ ამ ობიექტს შეეძლება გამოიყენოს პირველი კლასის  public ფუნქციები ,ხოლო თუ დავუმეგობრებთ მაშინ private ტიპებიც  .  ოპერატორით და მონაწილეობა მიიღოს მეორე კლასის ყველა ფუნქციაში,მოხდეს მისი ინიციალიზება კონსტრუქტორში და ა.შ.

ამასთნ რაში გამიჩნდა კითხვა ,პირველ კლასში როცა ვქმნი მეორე კლასის ობიექტს შცდომას აგდებს და თუ მეოე კლასში გავაკეთებ განაცხადს პირველი კლასის ობიექტზე ამაზე არაფერს მეუბნება.

რამეს არასწორად ვაკეთებ? თუ უბრალდო ასეთი წესია?

მემკვიდრეობას სწორად აკეთებ?

თუ სწორად მახსოვს, A კლასში თუ B კლასის ობიექტს ქმნი, A უნდა აკეთებდეს B-ს იმპლემენტაციას.

და პირიქით ხო არ აკეთებ შენ?

არ მახსოვს კარგად c++

Link to comment
Share on other sites

ტერმინი " მემკვიდრეობა" პირველად მესმის,შეიძლება ვიცი ეგ,როგორ იწერება?

Link to comment
Share on other sites

programaShi vigulisxme

იგივე მეგობარი კლასია. როგორც გეწერა

 

B არის A-ს მემკვიდრე იწერება ასე: B:A

მგონი :/

Link to comment
Share on other sites

პირველში მეორეს ვერ გააკეთებ მეორეში შეგიძლია გააკეთო პირველი ასე ვიცი

მეც მაგ დასკვნამდე მივედი.

აგერ თვითონ კოდი:

ესაა რა,უფრო დიდი იყო და ამოვშალე რაღაც-რაღაცეები :D

#include <iostream>

#include <string>

using namespace std;

class rect; 

class square{    // kubi

       friend class rect;

public:

       square();

       square(double);

       friend double fart(square);     // fartobis gamosatvleli funqc

       friend bool scan(square, rect); // // megobari funcqc.daadgens romeli klasis obieqtis fart. ufro metia

       double get1(){ return numb1;}   // monacemis dabrunebis

       void set1(){   double r; cin>>r; numb1=r;}  // bechdvis

       // rect dam_otx;  <- es araa dasashvebi

private:

       double numb1;

};

class rect{ // otxkutxedi

       friend class square;

public:

       rect(double);    //konstr

       rect(double,double); // konstr

       friend double fart(rect);  //  // fartobis gamosatvleli funqc

       friend bool scan(square,rect);   // megobari funcqc.daadgens romeli klasis obieqtis fart. ufro metia

       double get1(){return gverdi1;}  

       double get2(){return gverdi2;}

       double damfart(){return dam_gv.get1()*gverdi2;}  //square-s kompoziciit gamoyeneba

       void set2(){ double r,r2; cin>>r>>r2; gverdi1=r; gverdi2=r2; }

       void set3(){double r3; cin>>r3; dam_gv.numb1=r3;}

private:

       double gverdi1,gverdi2;

       square dam_gv;  // pirveli klasis   kompozicia meore klasshi

};

square::square(double a): numb1(a) { }

square::square(): numb1(5){ }

double fart(square x1){return x1.numb1* x1.numb1; }

bool scan(square xx1,rect xx2){ return  fart(xx1) > fart(xx2); } // megobari funcqc.daadgens romeli klasis obieqtis fart. ufro metia

 

rect::rect(double a,double B){ gverdi1=a; gverdi2=b;  }

rect::rect(double c=7.2): dam_gv© {  gverdi1=4; gverdi2=3;}

double fart(rect x1){  return (x1.gverdi1*x1.gverdi2); }

 

 

int main(){

       puts("avtomaturi parametrebit :"); cout<<endl;

       square kvadrati;

       rect martkutxedi;

       cout<<"kvadrates gverdi : "<<kvadrati.get1()<<endl;

       cout<<"martkutxedis gverdebi : "<<martkutxedi.get1()<<" da "<< martkutxedi.get2()  <<endl;

       cout<<"squares da rect S = "<< fart(kvadrati) <<" da "<<fart(martkutxedi)<<endl;

       cout<<"squares S ufro metia ? :"<< boolalpha << scan(kvadrati,martkutxedi) <<endl;

       cout<<"kompoziciis shedegi : "<<martkutxedi.damfart()<<endl;

       puts("shemoitane kvadratis gverdi xelit: ");

       square sq; rect re1; sq.set1(); cout<<endl;

       puts("shemoitane martkutxedis gverdebi : ");

       re1.set2();

       cout<<"axali kvadratis S :"<<fart(sq)<<", martkutxedis S :"<<fart(re1)<<endl;

       cout<<"squares S ufro metia ? :"<< boolalpha << scan(sq,re1) <<endl;

       cout<<"shemoitane kompoziciistvis gverdis sigrdze "; re1.set3(); cout<<endl;

       cout<<"kompoziciis shedegi : ";

       cout<< re1.damfart() <<endl;

 

       system ("pause");

       return 0;

};

Link to comment
Share on other sites

გამარჯობათთ..

 

C ენის სწავლა მინდა ჯერ და თუ სადმე გეგულებათ კაი ვიდეო ტუტორიალი იქნებ მომაწოდოთ.ჯერ ჩემით ვაპირებ სწავლის დაწყებას და მერე ჩაბარებას.

ქართულად თუ იქნება უფრო უკეთესი ან იტალიური..

ვეძებე და ნორმალური ვერ ვიპოვე ვერაფერი.

Link to comment
Share on other sites

გამარჯობათთ..

 

C ენის სწავლა მინდა ჯერ და თუ სადმე გეგულებათ კაი ვიდეო ტუტორიალი იქნებ მომაწოდოთ.ჯერ ჩემით ვაპირებ სწავლის დაწყებას და მერე ჩაბარებას.

ქართულად თუ იქნება უფრო უკეთესი ან იტალიური..

ვეძებე და ნორმალური ვერ ვიპოვე ვერაფერი.

http://howtocode.ge 

ცოტათი აზრზე მოგიყვანს.

 

თუმცა წიგნებს ვამჯობინებ.

Link to comment
Share on other sites

  • 3 weeks later...

სტეკში

რიცხვების 1 , 2 ,3 , 4 ,5 შეტანისას,

ასე განლაგდება მეხსიერებაში  : 1 , 2 ,3 , 4 ,5 , თუ

ასე : 5,4,3,2,1 ?

***********

დავწვი  :dwarf:

stck.push(n); ამატებს მარჯვნიდან მარცხნივ <-

და

stck.pop(); შლის მარცხნიდან პირველს.

Link to comment
Share on other sites

stack არის გროვა. წამორიდინგე თებშები რომ ერთმანეთზე დაალაგო

 

ობიექტი რომელიც პირველი დაამატე, ბოლოს ამოვარდება

Link to comment
Share on other sites

სტეკში

რიცხვების 1 , 2 ,3 , 4 ,5 შეტანისას,

ასე განლაგდება მეხსიერებაში  : 1 , 2 ,3 , 4 ,5 , თუ

ასე : 5,4,3,2,1 ?

***********

დავწვი  :dwarf:

stck.push(n); ამატებს მარჯვნიდან მარცხნივ <-

და

stck.pop(); შლის მარცხნიდან პირველს.

ეს თემაა

4d290c07376f.png

შედის 1,2,3,4,5. გამოდის 5,4,3,2,1 

  • Upvote 1
Link to comment
Share on other sites

  • 4 weeks later...

მოკლედ დავიწყე C++ ს შესწავლა. პირველი რაც შემიძლია გირჩიოთ ესაა dev C++ ძალიან კაი რამეა დამწყბთათვის. ---> http://www.windows8downloads.com/win8-dev-c--wdoxnrth/

 

მე პირადად UBUNTU-ში ვსწავლობ gedit-თ ტექსტური ფაილით. windows-თ რო აგიხსნათ notepad-ში ვსწავლობ რა. :)

შევქმნი txt დოკუმენტს გადავარქმევ .CPP-გაფართოებად. mv name name.cpp ბრძანებით მერე UBUNTU-ს terminal-შივე ამ მარტივი ბრძანებით (g++ -Wall -W -Werror programname.cpp -o programname ) ვაკომპილირებ და ./name ამ ბრძანებით ვუშვებ :) თუ რამე შეცდომაა ტერმინალშივე მიწერს. მძიმე ან ფრჩხილი თუ აკლია ზუსტად რა ადგილას აკლია იმასაც მიწერს. 9:11 ეს ნიშნავს რომ მძიმე უნდა 9 ზოლის 11 ადგილას :)

ამ გზით სწავლა მირჩევნია, ყველაფერი ხელით როა ჩასაწერი, აბა visual studio თვითონ ბეჭდავს რაღაცებს ეგრე კარგად ვერ დაიმახსოვრებ.

ჯერ-ჯერობით ძალიან მარტივ რაღაცებს ვწერ. რამდენიმე დღეა დავიწყე. წიგნი ავიღე ძაან მაგრადაა განმარტებული. აქ რო სასწავლი დევს ეგ მომცეს მანამდე იქაც მარა სასტიკად არ მომეწონა.

  • Upvote 1
Link to comment
Share on other sites

მოკლედ დავიწყე C++ ს შესწავლა. პირველი რაც შემიძლია გირჩიოთ ესაა dev C++ ძალიან კაი რამეა დამწყბთათვის. ---> http://www.windows8downloads.com/win8-dev-c--wdoxnrth/

 

მე პირადად UBUNTU-ში ვსწავლობ gedit-თ ტექსტური ფაილით. windows-თ რო აგიხსნათ notepad-ში ვსწავლობ რა. :)

შევქმნი txt დოკუმენტს გადავარქმევ .CPP-გაფართოებად. mv name name.cpp ბრძანებით მერე UBUNTU-ს terminal-შივე ამ მარტივი ბრძანებით (g++ -Wall -W -Werror programname.cpp -o programname ) ვაკომპილირებ და ./name ამ ბრძანებით ვუშვებ :) თუ რამე შეცდომაა ტერმინალშივე მიწერს. მძიმე ან ფრჩხილი თუ აკლია ზუსტად რა ადგილას აკლია იმასაც მიწერს. 9:11 ეს ნიშნავს რომ მძიმე უნდა 9 ზოლის 11 ადგილას :)

ამ გზით სწავლა მირჩევნია, ყველაფერი ხელით როა ჩასაწერი, აბა visual studio თვითონ ბეჭდავს რაღაცებს ეგრე კარგად ვერ დაიმახსოვრებ.

ჯერ-ჯერობით ძალიან მარტივ რაღაცებს ვწერ. რამდენიმე დღეა დავიწყე. წიგნი ავიღე ძაან მაგრადაა განმარტებული. აქ რო სასწავლი დევს ეგ მომცეს მანამდე იქაც მარა სასტიკად არ მომეწონა.

რაღა dev ბარემ ვიზუალ სტუდიო ჩაგეწერა. მაგაზე უკეთესს ვერაფერს ნახავ მაინც

Link to comment
Share on other sites

მდაა, ვერ გავიგე :)

იძახი უბუნტუ - ში ვმუშაობა და dev C++ ი საერთოდ რა შუაშია აქ? ან Visual Studio რა შუაშია? 

 

და G++ სში g++ -o test.cpp test ეს სინტაქსი არ გიჩვენებს შეცდომებს? მე მახსოვს რომ კი...

 

ხოდა .txt ფაილის შექმნა და მერე გადარქმევა რა პონტია? პირდაპირ touch name.cpp და ვსო კაცო.

Link to comment
Share on other sites

მდაა, ვერ გავიგე :)

იძახი უბუნტუ - ში ვმუშაობა და dev C++ ი საერთოდ რა შუაშია აქ? ან Visual Studio რა შუაშია? 

 

და G++ სში g++ -o test.cpp test ეს სინტაქსი არ გიჩვენებს შეცდომებს? მე მახსოვს რომ კი...

 

ხოდა .txt ფაილის შექმნა და მერე გადარქმევა რა პონტია? პირდაპირ touch name.cpp და ვსო კაცო.

რა არი გაუგებარი რა იყო უბუნტუზე დაბმული კი არ ვარ :D windows-ც მინახავს სხვათაშორის და ეგ რჩევა დავწერე იმიტომ რომ visual studio ვნახე და C++ს სწავლების დასაწყებად არ ვარგა. dev კიდე შედარებით უკეთესია დამწყებისთვის.  

    ისე კი  თავიდან კაკრას ჯობია ხელით წერო ყველაფერი უფრო ისწავლი და დაგამახსოვრდება. არაფერ შეცდომას არ მიგდებს ხოშიანად მუშაობს.

შენ ცოტა ბრძანება არეულად გადაწერე მე ასე დავწერე g++ -Wall -W -Werror programname.cpp -o programname

ისე touch-ს ნაცვლად vim რო ვიხმარო რა არ შვება თუ? ეგ გადარქმევა იმიტომ დავწერე რომ windows-სთვის ვინც მოინდომებს ის შექმნის txt ფაილს და მერე გადაარქმევს cpp-ად, თორე მე რათქმაუნდა მასე ვაკეთებ თავიდანვე ubuntu-ში. 

რაღა dev ბარემ ვიზუალ სტუდიო ჩაგეწერა. მაგაზე უკეთესს ვერაფერს ნახავ მაინც

მე თვითონ ubuntu-ში ვსწავლობ, მანდ მირჩევნია. 

თანაც ubuntu-ში ხო არ დავწერ sudo apt-get install microsoft visual studio 2010 ტეხავს :D

Link to comment
Share on other sites

რა არი გაუგებარი რა იყო უბუნტუზე დაბმული კი არ ვარ :D windows-ც მინახავს სხვათაშორის და ეგ რჩევა დავწერე იმიტომ რომ visual studio ვნახე და C++ს სწავლების დასაწყებად არ ვარგა. dev კიდე შედარებით უკეთესია დამწყებისთვის.  

    ისე კი  თავიდან კაკრას ჯობია ხელით წერო ყველაფერი უფრო ისწავლი და დაგამახსოვრდება. არაფერ შეცდომას არ მიგდებს ხოშიანად მუშაობს.

შენ ცოტა ბრძანება არეულად გადაწერე მე ასე დავწერე g++ -Wall -W -Werror programname.cpp -o programname

ისე touch-ს ნაცვლად vim რო ვიხმარო რა არ შვება თუ? ეგ გადარქმევა იმიტომ დავწერე რომ windows-სთვის ვინც მოინდომებს ის შექმნის txt ფაილს და მერე გადაარქმევს cpp-ად, თორე მე რათქმაუნდა მასე ვაკეთებ თავიდანვე ubuntu-ში. 

 

ნუ რავი... ეგ გასაგებია, მე ცოტა სხვა რამე დაგიწერე. მოკლედ როგორცაა  :crazy: 

touch - ი და vim - ი კიდე რავი რატომ დამიწერე ეგ ვერ მივხდი ვაფშე სხვადასხვა რამეა. იზავს როგორ არ იზავს, შექმნი ფაილს კი.

 

Link to comment
Share on other sites

მე თვითონ ubuntu-ში ვსწავლობ, მანდ მირჩევნია. 

თანაც ubuntu-ში ხო არ დავწერ sudo apt-get install microsoft visual studio 2010 ტეხავს :D

აა, მე მეგონა ვინდოუსში იყენებდი დევ-ს. არ წამიკითხავს წესიერად პოსტი

Link to comment
Share on other sites

ვინმემ არ იცით ამ წიგნის ელექტრონული ვერსია თუ არსებობს? ლინკი რო დამიდოთ.

მაგრად მომეწონა ამ წიგნით ვსწავლობ ჯერ. 

http://www.amazon.com/Programming-Absolute-Beginner-Mark-Lee/dp/1598638750

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.