Advertisement
Tavxela

4 ვარიანტი

Dec 20th, 2019
200
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.72 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <vector>
  4.  
  5. using namespace std;
  6.  
  7. void fillVector(vector<string>& vec) {/*<-- ეს უკვე იცით რასაც შვრება იმედია რეფერენსი გაიხსენეთ რატომ და რისთვის ვიყენებ!!!*/
  8. string a;
  9. ifstream blataoba("words.txt");/*<-- აქ განცხადებას (ვქმნით) ვაკეთებთ input file stream-ს ანუ პროგრამის გარედან არსებულ ფაილს ვაკავშირებთ*/
  10. while (blataoba >> a) {/*<-- აქ ყოველ ჯერზე ფაილიდან გადმოაქვს a-ში რაღაც სიტყვა არ გეგონოთ,რომ მარტო while-ით არის ფაილიდან გადმოწერა for-ითაც შეგიძლიათ
  11. ამას რომ მიხვდეთ გააკეთეთ for ციკლით */
  12. vec.push_back(a);/*ფაილიდან გადმოტანილ ცვლადში ჩაწერილი მნიშვნელობას ვექტორში ვყრით*/
  13. }
  14. }
  15.  
  16. char/*<-- ეს ნიშნავს,რომ return-ი იქნება char ტიპის*/ symbol(string a) {
  17. return a[1];/*<-- გაითვალისწინეთ,რომ ვექტორი 0 დან იწყება!!!*/
  18. }
  19.  
  20. int main() {
  21. int sveti = 0,b;
  22. vector<string> vec;//<-- განცხადება ვექტორზე
  23. fillVector(vec);//<-- ვიყენებთ ფუნქციას რათა შეგვივსოს ვექტორი(ორიგინალი, რადგანაც რეფერენსი გვაქვს გამოყენებული)
  24.  
  25. cout << "ramdeni sveti ginda: ";
  26. cin >> b;
  27. for (int i = 0; i < vec.size(); i++) {
  28. if(sveti < b/*<--აქ სანამ sveti < b-ზე მანამდე შევა და დაბეჭდავს vec[i]-ს; b შეგიძლიათ ნებისმიერი რიცხვით ჩაანაცვლოთ*/ ){
  29. cout << vec[i] << '\t';//ტაბულაცია შეგიძლიათ ჩაანაცვლოთ setw(აქ არ დაგავიწყდეთ რიცხვის მითითება)-თი
  30. }
  31. if (sveti == b) {/*<-- როცა sveti გაუტოლდება b-s მაშინ შევა ამ ტანში */
  32. sveti = 0;
  33. cout << endl;//<-- გადავიტანთ ახალ ხაზზე
  34. cout << vec[i] << '\t';
  35. }
  36. sveti++;
  37. }
  38. cout << endl;
  39.  
  40. string maxS;
  41.  
  42. for (int i = 0; i < vec.size(); i++) {
  43. if (symbol(vec[i]/*<-- vec[i] სტრინგია !!!! არ აგერიოთ*/) == 'a') {
  44. maxS = vec[i]; b = i;
  45. ;/*რადგან გვეკითხებიან ამ ელემენტებიდან უდიდესის ინდექსის დაბრუნებას უნდა შევქმნათ ახალი ცვლადი და მასში შევინახოთ
  46. i <-- ეს ხომ ჩვენთვის ვექტორის ინდექსის მაჩვენებელია!? რადგან for ციკლით 0 - ვექტორის ზომამდე ავდივართ ეს იმას ნიშნავს
  47. რომ ბოლოჯერ როდესაც ამ პირობის ტანში შემოვა i იქნება ყველაზე დიდი იმათგან განსხვავებით რომლებიც ამ პირობაში შემოვიდნენ
  48. მაგალითად: vec[5] არის laqa (და ამის მერე არც ერთ ვექტორის ელემენტს არ აქვს a მეორე ადგილზე)
  49. ხოლო vec[200](ჩავთვალოთ რომ ესაა ბოლო ელემენტი ვექტორშ)და არის budzgu
  50. ეს ნიშნავს იმას რომ 200 ჯერ კი გადაუვლის ვექტორს და i საბოლოოდ 200 იქნება მაგრამ პირობა მეხუთეზე შესრულდა მხოლოდ
  51. და i იქნება 4!!!*/
  52. }
  53. }
  54. cout << "vectorshi udidesi indeqsis mqone sityva "<< maxS <<" romelsac rigit meore adgilze aqvs a es aris " << b << endl;
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement