Advertisement
Guest User

Untitled

a guest
May 24th, 2019
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.40 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <string>
  4.  
  5. struct slowa
  6. {
  7.     std::string slowo;
  8.     slowa *next;
  9. };
  10.  
  11. void eins(std::string &zdania);
  12.  
  13. int main ()
  14. {
  15.     std::cout<<"Zadanie 1\n\n";
  16.     std::string zdania="";
  17.     eins(zdania);
  18.     std::cout<<zdania;
  19.     std::cout<<"--------------------------------------\n\n";
  20.     std::cout<<"Zadanie 2\n\n";
  21.  
  22. }
  23.  
  24. void eins(std::string &zdania)
  25. {
  26.  
  27.     std::ifstream plik;
  28.     std::string wyraz="",sciezka="dane.txt";
  29.     slowa *stos=nullptr;
  30.     char znak;
  31.     bool czyKoniecZdania;
  32.     plik.open(sciezka);
  33.  
  34.     while(!plik.eof())
  35.     {
  36.         czyKoniecZdania=false;
  37.         znak=' ';
  38.         while(!czyKoniecZdania&&!plik.eof())
  39.         {
  40.             getline(plik,wyraz,' ');
  41.             if(wyraz.back()=='!' || wyraz.back()=='.' || wyraz.back()=='?')
  42.             {
  43.                 znak=wyraz.back();
  44.                 czyKoniecZdania=true;
  45.                 wyraz.pop_back();
  46.             }
  47.             wyraz+=" ";
  48.             slowa *sl = new slowa;
  49.             sl->slowo = wyraz;
  50.             sl->next = stos;
  51.             stos = sl;
  52.         }
  53.         while(stos!=nullptr)
  54.         {
  55.             wyraz=stos->slowo;
  56.             slowa *temp=stos;
  57.             stos=stos->next;
  58.             delete temp;
  59.             zdania+=wyraz;
  60.         }
  61.         zdania.pop_back();
  62.         zdania=zdania+znak+"\n";
  63.     }
  64.     plik.close();
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement