Advertisement
imarosi

nyaj-2

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