fork download
  1. #include <iostream>
  2. using namespace std;
  3. int main()
  4. {
  5. string pojedynczyRuch = "";
  6. int roznicaKrzyzykKolko = 0;
  7. string czyToMiejsceByloWypelnione = "---------"; //ustaw na same myslniki (jest ich 9)
  8. bool zakonczProgram = false;
  9.  
  10. for(int i=0; i<9; i++)
  11. {
  12. cin>>pojedynczyRuch;
  13.  
  14. for(int j=0; j<pojedynczyRuch.length(); j++)
  15. {
  16. //sprawdzenie
  17. if(czyToMiejsceByloWypelnione[j] == '-') //jezeli wczesniej bylo puste
  18. {
  19. czyToMiejsceByloWypelnione[j] = pojedynczyRuch[j]; //to zapisz tam krzyzyk lub kolko
  20. }
  21. else //jezeli wczesniej cos tam juz bylo (krzyzyk lub kolko)
  22. {
  23. if(czyToMiejsceByloWypelnione[j]!=pojedynczyRuch[j]) //jezeli zostalo nadpisane
  24. {
  25. cout<<"Uklad jest niepoprawny poniewaz zostala zapisana wartosc w juz uzupelnionym miejscu"<<endl;
  26. zakonczProgram = true;
  27. break; //przerwij petle j
  28. }
  29. }
  30.  
  31.  
  32. //sprawdzanie odnosnie postawienia dwoch krzyzykow lub dwoch kolek (po sobie)
  33. if(pojedynczyRuch[j] == 'x') roznicaKrzyzykKolko += 1;
  34. else if(pojedynczyRuch[j] == 'o') roznicaKrzyzykKolko -= 1;
  35. }
  36.  
  37. if(roznicaKrzyzykKolko > 1)
  38. {
  39. cout<<"Uklad jest niepoprawny poniewaz krzyzykow jest za duzo !"<<endl;
  40. zakonczProgram = true;
  41. }
  42. if(roznicaKrzyzykKolko < -1)
  43. {
  44. cout<<"Uklad jest niepoprawny poniewaz kolek jest za duzo !"<<endl;
  45. zakonczProgram = true;
  46. }
  47.  
  48. if(zakonczProgram) break; //jezeli zostala ustawiona wartosc aby zakonczyc program to przerwij petle po i
  49. }
  50. return 0;
  51. }
  52.  
Success #stdin #stdout 0s 4516KB
stdin
Standard input is empty
stdout
Standard output is empty