Advertisement
developer10

Untitled

Jul 3rd, 2015
192
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.15 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. char* GetPosljednji(char* tekst, char* trazim, int& brojac)
  5. {
  6.     cout << tekst << endl;  // U POSLJEDNJEM POZIVU, OVDJE CE ISPISATI (ova linija nije dio ispitnog koda):
  7.                 //  "nasa je izuzetno povoljna!"
  8.    
  9.     char* pok = strstr(tekst, trazim);
  10.     if(pok == NULL)
  11.  
  12.         // vraca "anasa je izuzetno povoljna!"
  13.         // kako i zasto? Parametar tekst je proslijedjen bez tog "a" na pocetku.
  14.         // Je li poenta u tome sto pokazivaci (tekst) u prethodnim pozivima nisu nulirani pa
  15.         // su svi i dalje "zivi" u memoriji, tako da je moguce vratiti se za jednu jedinicu nazad
  16.         // i dobiti taj stari znak koji je tu upisan u prethodnom pozivu???
  17.  
  18.         return tekst - 1;   // "anasa je izuzetno povoljna!"
  19.  
  20.     toupper(pok[0]);
  21.  
  22.     return GetPosljednji(pok+1, trazim, ++brojac);
  23.  
  24. }
  25.  
  26.  
  27. void main()
  28. {
  29.     char tekst[] = "Danas je cijena ananasa izuzetno povoljna!";
  30.     char trazim[] = "an";
  31.     int brojac = 0;
  32.     char* pok = GetPosljednji(tekst, trazim, brojac);
  33.  
  34.     cout << pok << endl << endl;
  35.  
  36.     int rezultat = pok - tekst;
  37.  
  38.     cout << rezultat << endl;
  39.     cout << brojac << endl;
  40.  
  41.     itoa(rezultat, pok, 10);
  42.    
  43.     cout << tekst << endl;
  44.  
  45.  
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement