Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <vector>
- using namespace std;
- void fillVector(vector<string>& vec) {/*<-- ეს უკვე იცით რასაც შვრება იმედია რეფერენსი გაიხსენეთ რატომ და რისთვის ვიყენებ!!!*/
- string a;
- ifstream blataoba("words.txt");/*<-- აქ განცხადებას (ვქმნით) ვაკეთებთ input file stream-ს ანუ პროგრამის გარედან არსებულ ფაილს ვაკავშირებთ*/
- while (blataoba >> a) {/*<-- აქ ყოველ ჯერზე ფაილიდან გადმოაქვს a-ში რაღაც სიტყვა არ გეგონოთ,რომ მარტო while-ით არის ფაილიდან გადმოწერა for-ითაც შეგიძლიათ
- ამას რომ მიხვდეთ გააკეთეთ for ციკლით */
- vec.push_back(a);/*ფაილიდან გადმოტანილ ცვლადში ჩაწერილი მნიშვნელობას ვექტორში ვყრით*/
- }
- }
- char/*<-- ეს ნიშნავს,რომ return-ი იქნება char ტიპის*/ symbol(string a) {
- return a[1];/*<-- გაითვალისწინეთ,რომ ვექტორი 0 დან იწყება!!!*/
- }
- int main() {
- int sveti = 0,b;
- vector<string> vec;//<-- განცხადება ვექტორზე
- fillVector(vec);//<-- ვიყენებთ ფუნქციას რათა შეგვივსოს ვექტორი(ორიგინალი, რადგანაც რეფერენსი გვაქვს გამოყენებული)
- cout << "ramdeni sveti ginda: ";
- cin >> b;
- for (int i = 0; i < vec.size(); i++) {
- if(sveti < b/*<--აქ სანამ sveti < b-ზე მანამდე შევა და დაბეჭდავს vec[i]-ს; b შეგიძლიათ ნებისმიერი რიცხვით ჩაანაცვლოთ*/ ){
- cout << vec[i] << '\t';//ტაბულაცია შეგიძლიათ ჩაანაცვლოთ setw(აქ არ დაგავიწყდეთ რიცხვის მითითება)-თი
- }
- if (sveti == b) {/*<-- როცა sveti გაუტოლდება b-s მაშინ შევა ამ ტანში */
- sveti = 0;
- cout << endl;//<-- გადავიტანთ ახალ ხაზზე
- cout << vec[i] << '\t';
- }
- sveti++;
- }
- cout << endl;
- string maxS;
- for (int i = 0; i < vec.size(); i++) {
- if (symbol(vec[i]/*<-- vec[i] სტრინგია !!!! არ აგერიოთ*/) == 'a') {
- maxS = vec[i]; b = i;
- ;/*რადგან გვეკითხებიან ამ ელემენტებიდან უდიდესის ინდექსის დაბრუნებას უნდა შევქმნათ ახალი ცვლადი და მასში შევინახოთ
- i <-- ეს ხომ ჩვენთვის ვექტორის ინდექსის მაჩვენებელია!? რადგან for ციკლით 0 - ვექტორის ზომამდე ავდივართ ეს იმას ნიშნავს
- რომ ბოლოჯერ როდესაც ამ პირობის ტანში შემოვა i იქნება ყველაზე დიდი იმათგან განსხვავებით რომლებიც ამ პირობაში შემოვიდნენ
- მაგალითად: vec[5] არის laqa (და ამის მერე არც ერთ ვექტორის ელემენტს არ აქვს a მეორე ადგილზე)
- ხოლო vec[200](ჩავთვალოთ რომ ესაა ბოლო ელემენტი ვექტორშ)და არის budzgu
- ეს ნიშნავს იმას რომ 200 ჯერ კი გადაუვლის ვექტორს და i საბოლოოდ 200 იქნება მაგრამ პირობა მეხუთეზე შესრულდა მხოლოდ
- და i იქნება 4!!!*/
- }
- }
- cout << "vectorshi udidesi indeqsis mqone sityva "<< maxS <<" romelsac rigit meore adgilze aqvs a es aris " << b << endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement