Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <iomanip>//<-- setw-ს გამოსაყენებლად უნდა ჩართოთ ეს header-ი (ახსნილია შემდგომ რას და როგორ აკეთებს!!!)
- //setw --> set field width
- #include <fstream>
- #include <vector>
- using namespace std;
- void sheavseVectori(vector<int>& vec) {//sheavseVectori(პარამეტრად უნდა გადავაწოდოთ ვექტორი (თუ გვინდა რომ ორიგინალი შეიცვალოს მაშინ ვიყენებთ რეფერენსს(&)));
- int b,input;//<-- აქ ორ ცვლადს ვქმნით
- cout << "Ramxela ginda rom iyos vectori: ";
- cin >> b;//<-- აქ შემომაქვს კლავიატურიდან b
- for (int i = 0; i < b; i++) {/*<-- აქ სანამ i ნაკლებია b-ზე მანამდე იქნება ციკლი(ანუ b განსაზღვრავს ვექტორის სიდიდეს)
- იგივე იქნებოდა პირდაპირ რიცხვი რომ დაგეწერათ*/
- cout << "Enter int:";
- cin >> input;//<-- აქ აწ უკვე შექმნილ input-ს(თქვენივე სახელი დაარქვით!!!) ვუცვლით მნიშვნელობას
- vec.push_back(input);//<-- აქ ჩვენს მიერ შეტანილ input-ს ვწერთ ვექტორში
- }/*არ შეგეშალოთ და გაითვალისწინეთ,რომ რადგან ჩვენ პარამეტრებში გამოვიყენეთ რეფერენსი ეს ნიშნავს იმას,რომ ეს ფუნქცია ორიგინალ
- ვექტორთან იმუშავებს და არა მის მსგავსთან(კოპიოსთან) sheavseVectori(აქ იწერება პარამეტრები) & <-- ეს არის რეფერენსის ნიშანი!!!*/
- }
- bool/*<-- ეს ნიშნავს იმას,რომ ფუნქციაში return <-- აი ეს იქნება bool ტიპის*/arisluwi(int a) {/*რადგან გვკითხეს,რომ დაადგინეთ არის თუ არა რიცხვი ლუწი,
- ანუ ჩვენ უნდა შევქმნათ "ფუნქცია პრედიკატი" იგივე
- bool ფუნქცია რომელსაც გადავაწვდით მთელ რიცხვს(int-ს)*/
- return a % 2 == 0;/*<-- ეს იგივეა რაც if-ით რომ დაგწერათ
- თქვენივე სურვილისამებრ დაწერეთ. return-ის
- შემდგომ დაწერილი ნიშნავს --> a გაყოფილი 2 -ზე , ნაშთი თუ უდრის 0-ს მაშინ დააბრუნე ჭეშმარიტია(true) თუ არადა მცდარია(false)*/
- }
- /*ჩვენ უკვე შევქმენით ორი ფუნქცია ახლა გადავიდეთ შემდეგ ეტაპზე(გამოვიყენოთ ჩვენივე შექმნილი ფუნქციები
- ძირითად ფუნქციაში (int main-ს ეწოდება ძირითადი/მთავარი ფუნქცია!!!))*/
- int main() {
- vector<int> vec;/*<-- აქ შევქმენით ვექტორი (გავაკეთეთ განაცხადი ვექტორზე) რომელიც int(მთელი რიცვის) ტიპისაა*/
- sheavseVectori(vec);/*<-- აქ გამივიძახეთ(გამოვიყენეთ) შესაბამისი ფუნქცია,რომელიც შეგვივსებს ვექტორს(ორიგინალს!!!)*/
- for (int i = 0; i < vec.size(); i++) {/*<-- აქ სანამ i ნაკლებია ვექტორის ზომაზე(ვექტორის სახელი.size()<-- ასე იწერება მისი ზომა)
- მანამდე გაგვიკეთებს იმას რაც for-ის ტანში წერია. ამას ეწოდება ტანი (ფიგურულ ფრჩხილებს!!!)--> {}*/
- cout << setw(10) << vec[i];/*<-- აქ setw(რამხელაზე გვინდა,რომ დავაშოროთ) დაახლოებით იგივე შედეგს მოგვცემს
- ტაბულაციით გამოტოვება '\t'<-- ეს მარცხენა კიდესთან ასწორებს კონსოლში
- setw კი მარჯვენა (იმისათვის რომ ამას მიხვდეთ გაუშვით პროგრამა,ჯერ setw-თი მერე ტაბულაციით)*/
- if ((i + 1) % 5 == 0) {/*<-- აქ როდესაც i+1 გაიყოფა უნაშთოდ 5-ზე მაშინ შევა ტანში(ტანი ზემოთ არის განმარტებული!!!)*/
- cout << endl;/*<-- აქ ვასრულებთ ხაზს (ანუ გადავდივართ ახალ ხაზზე) კონსოლში(იგივე შავ ყუთში)*/
- }
- }
- int max = vec[0];//<-- აქ ვქმნით ახალ ცვლადს რომეშიც ვინახავს ვექტორის პირველ ელემენტს(გაითვალისწინეთ,რომ ვექტორში 0-დან იწყება)
- for (int i = 0; i < vec.size(); i++) {//<-- თუ არ იცი რას შვრება 36-ე ხაზზე დაბრუნდი!!!
- if (max < vec[i]) {/*<-- აქ ჩვენ მიერ შექმნილ ცვლადს ვადარებთ ვექტორის ელემენტებს, თუ ეს ცვლადია ნაკლებია მოცემული
- ვექტორის ელემენტზე მაგ. vec[5] ანუ რიგით მეექვსე ელემენტზე მაშინ შევა if-ის ტანში(თუ არ იცი რას ეწოდება ტანი დაბრუნდი 37-ე ხაზზე!!!)*/
- max = vec[i];/*თუ ზემოთ მოცემული პირობა ჭეშმარიტია max-ს მიენიჭება ვექტორის ის ელემენტი რომელმაც პირობა დააკმაყოფილა
- მაგ. vec[5] -ი*/
- }
- }
- ofstream fafa("pasuxi.txt");/*<-- აქ ვქმნით output file stream (ანუ პროგრამიდან ფაილში გამტანი!!!) ეს მიებმება ფაილს სახელად
- pasuxi.txt*/
- fafa << max;/*<-- აი აქ გაგვაქვს ფაილში ჩვენი სასურველი ცვლადი. ამ შემთხვევაშ მაქსიმუმი!!!*/
- }/*წარმატებები გამოცდებზე და საკონტროლოებზე და იმედია დაგეხმარეთ :) */
- /*P.S არ დაგავიწყდეთ setw(აი აქ)<-- ამ ფრჩხილებში იწერება რამდენი გინდათ დაშორება!!!!*/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement