Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- string* terel(const string* nyaj, unsigned& nyajhossz) const
- {
- if (nyaj == nullptr || nyajhossz == 0) {
- nyajhossz = 0;
- return nullptr;
- }
- string *array = new string[nyajhossz]; // most az összes array[] elem üres string
- unsigned ujhossz = 0; // ez az új tömb utolsó birkáját is tartalmazó hossz (most még nincs egy se)
- int hova = 0; // hova kell rakni a következő terelt birkát az array-ba
- int mit; // hol van most az a birka a nyaj-ban
- for (mit = 0; mit < nyajhossz; mit++) { // végigmegyünk az összes helyen
- if (nyaj[mit] == "")
- continue; // az üres helyekkel nem kell semmit se csinálni
- // itt egy birka van!
- if (hova < terelo_kapacitas) { // ha van még kapacitás, akkor...
- array[hova] = nyaj[mit]; // ... terelünk, vagyis előre rakjuk a birkát
- ujhossz = hova + 1;
- hova++;
- } else {
- array[mit] = nyaj[mit]; // egyébként ugyanott hagyjuk (persze át kellett rakni a mi tömbünkbe)
- ujhossz = mit + 1;
- }
- }
- // Ez működik akkor is, ha a nyaj végén lennének lyukak (a feladat szerint nincsenek),
- // vagy ha nincs egyetlen egy birka sem (de a nyajhossz nem 0)
- // Nem kell ilyen feltételekkel működni, de így hibatűrőbb a kód.
- nyajhossz = ujhossz;
- return array;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement