MeehoweCK

Untitled

Mar 12th, 2023
863
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.75 KB | None | 0 0
  1. #include <iostream>
  2. #include <conio.h>
  3.  
  4. using namespace std;
  5.  
  6. void wyswietl_ciag(char* ciag)
  7. {
  8.     unsigned i = 0;
  9.     do
  10.     {
  11.         cout << ciag[i];
  12.         ++i;
  13.     }
  14.     while(ciag[i] != '\0');
  15. }
  16.  
  17. unsigned dlugosc_wyrazu(char* ciag)
  18. {
  19.     unsigned i = 0;
  20.     while(ciag[i] != '\0')
  21.         ++i;
  22.     return i;
  23. }
  24.  
  25. char* wczytaj_tekst()
  26. {
  27.     char znak = _getch();
  28.     char* tekst = nullptr;
  29.     if(static_cast<int>(znak) != 13)
  30.     {
  31.         cout << znak;
  32.         tekst = new char[1];
  33.         tekst[0] = znak;
  34.     }
  35.     else
  36.         return nullptr;
  37.  
  38.     unsigned licznik = 1;
  39.     znak = _getch();
  40.     while(static_cast<int>(znak) != 13)
  41.     {
  42.         cout << znak;
  43.         char* temp = new char[licznik + 1];
  44.         for(unsigned i = 0; i < licznik; ++i)
  45.             temp[i] = tekst[i];
  46.  
  47.         delete[] tekst;
  48.         tekst = new char[licznik + 1];
  49.         for(unsigned i = 0; i < licznik; ++i)
  50.             tekst[i] = temp[i];
  51.  
  52.         delete[] temp;
  53.         tekst[licznik] = znak;
  54.         ++licznik;
  55.  
  56.         znak = _getch();
  57.     }
  58.  
  59.     char* temp = new char[licznik + 1];
  60.     for(unsigned i = 0; i < licznik; ++i)
  61.         temp[i] = tekst[i];
  62.  
  63.     delete[] tekst;
  64.     tekst = new char[licznik + 1];
  65.     for(unsigned i = 0; i < licznik; ++i)
  66.         tekst[i] = temp[i];
  67.  
  68.     delete[] temp;
  69.     tekst[licznik] = '\0';
  70.     cout << '\n';
  71.  
  72.     return tekst;
  73. }
  74.  
  75. int main()
  76. {
  77.     cout << "Napisz cos i zatwierdz klawiszem enter: ";
  78.     char* napis = wczytaj_tekst();
  79.     char ciag[5] = {'A', 'n', 'i', 'a', '\0'};
  80.     wyswietl_ciag(ciag);
  81.     cout << endl;
  82.     wyswietl_ciag(napis);
  83.     cout << endl << dlugosc_wyrazu(ciag) << endl;
  84.     cout << dlugosc_wyrazu(napis) << endl;
  85.     delete[] napis;
  86.     return 0;
  87. }
Advertisement
Add Comment
Please, Sign In to add comment