odwracanie ciagu liczb

odwracanie ciagu liczb
P7
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 7
0

Witam;
Staram sie nauczyc C++.
Spotkalem sie z takim programem do odwracania ciagu liczb:

Kopiuj
#include <iostream>
#include <string>
using namespace std;

int main(){
  char znak;
  string s;
  while((znak = cin.get()) != EOF) s += znak;
  for(int i = s.size()-1; i >= 0; i--) cout << s[i];
  return 0;
} 

Czy moze ktos mi wytlumaczyc linijka po linijce dzialanie tego programu?
Dzieki

LI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 26
2

cin.get() zwraca Ci znak ze strumienia
EOF to End of file, czy znak końca pliku, CTRL + Z w Windowsie.
Dopóki znak pobrany ze strumienia to nie CTRL + Z, dodajesz ten znak na koniec string'a s (na początku pustego).
Potem wypisujesz tego string'a od końca w pętli for, size() - 1 dlatego, że index'y zaczynają się od 0.

http://www.cplusplus.com/reference/istream/istream/get/

Zedytowane^^

Jednak jeśli chodziłoby o ENTER, to mogłoby to być '\n' zamiast EOF.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.