Elimizde küçükten büyüğe sıralı bir tamsayı vector‘ü var. Bu vector içinde [0 – 99] aralığında bulunan n tane tamsayı tutuluyor. n değeri 0 dahil
Etiket: std::string
string’deki tüm karakterler eşsiz mi?
Elimizde std::string sınıfı türünden bir nesne var. Bu string nesnesinin tuttuğu yazının tüm karakterlerinin eşsiz (unique) olup olmadığını sınayan bir işlev yazmamız isteniyor. İşlevimiz gönderilen
C++ çalışma sorusu – 48
Elimizde yalnızca küçük harf karakterlerinden oluşan bir string var:
1 |
aayyyttxpeeeemmiiuuuuutee |
Böyle bir stringi aşağıdaki gibi stringe dönüştürmek istiyoruz:
1 |
a2y3t2x1p1e4m2i2u5t1e2 |
stringe eklenen rakam karakterleri ardışık
C++ çalışma sorusu – 47
Bir stringin başka bir stringin döndürülmüş biçimi olup olmadığını sınayan
1 2 3 |
#include <string> bool isRotate(const std::string &s1, const std::string &s2) |
işlevini tanımlayınız. İşlev eğer s2 stringi s1 stringinin döndürülmesiyle elde edilebiliyorsa true değere
sözlük üzerinde stl uygulamaları – 3
Elimizde bulunan belirli sayıda harf ile oluşturulabilecek ingilizce sözlüğümüzde yer alan tüm sözcükleri bulan bir program yazıyoruz. Örneğin sözlüğümüzde bulunan sözcüklerden “ankara” harfleriyle oluşturabileceklerimiz şunlar:
1 2 3 |
ankara, kanara, arank, rakan, akan, akra, arak, arna, kana, karn, knar, kran, krna, nark, rana, rank, aaa, aka, ana, ara, ark, arn, kan, kra, naa, nak, nar, ran, aa, ak, an, ar, ka, kn, kr, na, nr, ra, rn, a, k, n, r, p |
sözlük üzerinde stl uygulamaları – 2
Bu kez ingilizce sözlüğümüzde bulunan tüm palindrom sözcükleri buluyoruz:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
#include <fstream> #include <iostream> #include <vector> #include <set> #include <string> #include <algorithm> #include <iterator> using namespace std; bool ispal(const string &r) { string s{ r }; reverse(s.begin(), s.end()); return s == r; } struct LenPred { bool operator()(const string &r1, const string &r2)const { return r1.size() > r2.size() || r1.size() == r2.size() && r1 < r2; } }; int main() { ifstream ifs{"dict.txt"}; if (!ifs) { cerr << "dosya acilamadi" << endl; return 1; } vector<string> svec{ istream_iterator<string>{ifs}, istream_iterator<string>{} }; set<string, LenPred> palset; copy_if(svec.begin(), svec.end(), inserter(palset, palset.begin()), &ispal); copy(palset.begin(), palset.end(), ostream_iterator<string>{cout, "\n"}); return 0; } |
Daha önceki çalışmamızda olduğu gibi önce dosyamızdaki tüm sözcükleri içeren svec isimli bir vector
sözlük üzerinde stl uygulamaları – 1
Elimizde ingilizce’deki tüm sözcükleri içeren bir ASCII metin dosyası var. Dosyanın ismi dict.txt. Dosyamızın her satırında bir sözcük yer alıyor ve toplamda 354.935 sözcüğümüz var.
C++ çalışma sorusu – 46
Aşağıdaki ingilizce sözcüklerin ortak bir özelliği var:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 |
anemoclastic anencephalotrophia antelocation anteoccupation anticommercialistic antidemocratic antidemocratical antidemocratically antiecclesiastic antiecclesiastical antiecclesiastically antiecclesiasticism antieducation antieducational antieducationalist antieducationally antieducationist antiejaculation antimechanistic antimechanistically antimechanization antimedication antimedicative antispeculation aquopentamminecobaltic beneficiating beneficiation bronchiectatic cockneyfication consecrating consecration consecrations consecrative contrectation counteraccusation counterassociation countercathexis counterclassification counterclassifications countercondemnation counterdeclaration counterexcommunication counterindication counterindoctrination countermachination countervindication deconsecrating deconsecration deintellectualization disinsectization encephalomyocarditis endopericarditis enterotoxication generification gynaecocratic gynaecomastia gynecocratic gynecocratical gynecomastia gynecomastism gynecopathic gynecratic hendecatoic inaffectation inappreciation inappreciative inappreciatively inappreciativeness indemnification indemnifications indescribabilities ineducation inescation inexpectation influenceabilities insectation intellectation intellectualisation intellectualistic intellectualistically intellectualities intellectualization intellectualizations intensification intensifications interapplication interassociation intercalating intercalation intercalations intercalative intercarotid intercartilaginous intercausative intercirculating intercirculation intercivilization intercolonization intercolumnation intercolumniation intercombination intercommunicating intercommunication intercommunicational intercommunications intercommunicative intercontradiction intercorrelating intercorrelation intercorrelations intercreating intercrystallization intercursation interesterification interincorporation interindicating interjaculating interlocating interlocation interlucation intermodification interoscillating interosculating interosculation interplication interpunctuation interramification interreticulation interscholastic interstratification intersusceptation intertrochanteric intraecclesiastical linecasting lymphangiectatic magnetification meningoencephalitic meningoencephalitis necation necessitating necessitatingly necessitation necessitative necromantic necromantical necromantically necrotization neoconservative neuropsychiatric neuropsychiatrically neuropsychiatrist neuropsychopathic neurovaccination newscasting nomenclative nomenclatorial nomenclatorship nomenclaturist nonaffectation nonappreciation nonappreciative nonappreciatively nonappreciativeness nonauthentication nonbureaucratic nonbureaucratically noncertification nonconsecration nondecalcification nondecatoic nondeceleration nondeclaration nondeclarative nondeclaratively nondecoration nondecorative nondedication nondedicative nondefalcation nondemocratic nondemocratical nondemocratically nondenunciating nondenunciation nondenunciative nondeprecating nondeprecatingly nondeprecative nondeprecatively nondeprecatorily nondepreciating nondepreciation nondepreciative nondepreciatively nondesecration nondiversification nondomesticating nonecclesiastic nonecclesiastical nonecclesiastically nonecstatic nonecstatically noneducation noneducational noneducationally noneducative nonelectrification nonelucidating nonelucidation nonelucidative nonemancipation nonemancipative nonenunciation nonenunciative nonequivocating noneradicative nonevacuation nonevocative nonexcavation nonexcitative nonexculpation nonexemplification nonexemplificatior nonexpectation nonexplicative nonextrication nonidentification nonmechanistic nonmedicative nonmercantile nonobjectification nonpersonification nonprecipitation nonprecipitative nonpredicative nonpredicatively nonreciprocating nonrecitation nonrecitative nonreclamation nonrecommendation nonreconciliation nonrecuperatiness nonrecuperation nonrecuperative nonrecuperativeness nonrenunciation nonreplication nonrespectabilities nonresuscitation nonresuscitative nonretractation nonrevocation nonsensification nonspecification nonspeculation nonspeculative nonspeculatively nonspeculativeness nonsubjectification nontheocratic nontheocratical nontheocratically nonverification overintellectualization overintensification panecclesiastical pentadecatoic phoneticization phoneticogrammatical pneumoencephalitis preconseccrating preconsecrating preconsecration preindemnification prenecessitating reconsecrating reconsecration reconsecrations telangiectatic transpeciation transrectification unaffectation unappreciating unappreciation unappreciative unappreciatively unappreciativeness unbureaucratic unbureaucratically unconsecration unconsecrative undecatoic undeclarative undecorative undeification undemocratic undemocratically undemocratisation undemocratise undemocratised undemocratising undemocratization undemocratize undemocratized undemocratizing undeprecating undeprecatingly undeprecative undeprecatively undepreciative undercapitalization undercapitalize undercapitalized undercapitalizing undercaptain undercoating undercoatings undereducation underparticipation undomestication unecclesiastic unecclesiastical unecclesiastically unecstatic unecstatically uneducative unelucidating unelucidative unemancipative unemasculative unenunciative unequivocating uneradicative uneucharistical unevocative unexacerbating unexcogitative unexcruciating unexplicative unfelicitating ungesticulating ungesticulative unmechanistic unmedicative unmercantile unmerchantlike unnecessitating unpeculating unprecautioned unprecipitative unprecipitatively unpredicative unpredicatively unprevaricating unrecanting unreciprocating unrecitative unrecreating unrecreational unrecriminative unrecuperatiness unrecuperative unrecuperativeness unrenunciative unresuscitating unresuscitative unspeculating unspeculative unspeculatively unverificative |
Bu sözcüklerden bazı karakterler silindiğinde geriye benim ismim kalıyor. Böyle bir özelliği test eden bir işlev
string sınıfında silme işlemleri
Bu yazımızın konusu string sınıfında silme işlemleri Standart string sınıfının erase işlevi 3 ayrı imzayla yüklenmiş:
1 2 3 |
string& erase (size_type pos = 0, size_type len = npos); iterator erase (const_iterator p); iterator erase (const_iterator first, const_iterator last); |
Üç işlevi de ayrıntılı olarak inceleyeceğiz. Önce
string sınıfının kurucu işlevleri
Bir string nesnesini hayata başlatmak için çok sayıda seçeneğimiz var. Bu yazımızda string sınıfının tüm kurucu işlevlerini, C++11 ile gelen yüklemeler de (overloads) dahil