mdejkic

nibica ft mihica - zayebus

Jan 9th, 2019
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.67 KB | None | 0 0
  1. /*
  2. Napisati funkciju koja kao parametar prima rečenicu (niz od najviše 200 karaktera)  i iz nje uklanja svaku riječ koja počinje velikim slovom. Pored toga, funkcija treba da  prebroji ukupan broj riječi u rečenici prije izmjene. Koristiti sljedeći prototip funkcije:
  3. int ukloniRijeci(char []).
  4. Npr. ako je data rečenica: "Stari most u Mostaru spaja obale rijeke Neretve."
  5. funkcija je treba pretvoriti u: "most u spaja obale rijeke"
  6. Funkcija vraća broj riječi u polaznoj rečenici (prije odsijecanja ostalih riječi). Radi jednostavnosti rješenja, pretpostavite da je riječ bilo koji niz znakova razdvojen znakom razmak.
  7. */
  8. #include <iostream>
  9. using namespace std;
  10. int duzinaRecenice(char[]);
  11. int ukloniRijeci(char[]);
  12. void main() {
  13.     char recenica[200] = { "Stari most u Mostaru spaja obale rijeke Neretve." };
  14.     cout << "Recenica ima " << ukloniRijeci(recenica) << " rijeci" << endl;
  15.     int i = 0;
  16.     while (recenica[i] != '\0')
  17.         cout << recenica[i++];
  18.     system("pause>0");
  19. }
  20. int duzinaRecenice(char recenica[]) {
  21.     int brojac = 0;
  22.     while (recenica[brojac] != '\0')
  23.         brojac++;
  24.     return brojac;
  25. }
  26. int ukloniRijeci(char recenica[]) {
  27.     int duzina = duzinaRecenice(recenica);
  28.  
  29.     int brRijeci = 0;
  30.     for (int i = 0; i < duzina; i++) {
  31.         while (recenica[i] != ' ')
  32.             i++;
  33.  
  34.         brRijeci++;
  35.  
  36.         while (recenica[i] == ' ')
  37.             i++;
  38.     }
  39.     for (int i = 0; i < duzina; i++) {
  40.         if (recenica[i] >= 'A' && recenica[i] <= 'Z') {
  41.             int j, k;
  42.             j = k = i;
  43.             while (recenica[j] != ' ' && j < duzina)
  44.                 j++;
  45.             while (recenica[j] == ' ')
  46.                 j++;
  47.             while (recenica[k] != '\0')
  48.                 recenica[k++] = recenica[j++];
  49.             duzina = duzina - j + k;
  50.         }
  51.     }
  52.     return brRijeci;
  53. }
Advertisement
Add Comment
Please, Sign In to add comment