fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. bool cycle(int array[], int start, int size) {
  5. int numbers[1001], numbersCounter = 0;
  6. int position = start;
  7. while (numbersCounter != size + 1) {
  8. for (int i = 0; i < numbersCounter; i++)
  9. if (position == numbers[i])
  10. return true;
  11. numbers[numbersCounter] = position;
  12. position = array[position];
  13. numbersCounter++;
  14. }
  15. return false;
  16. }
  17.  
  18. int main() {
  19. int test1[1000] = { 6,2,1,0 };
  20. cout << cycle(test1, 1, 4) << '\n';
  21.  
  22. int test2[1000] = { 1,2,3,0 };
  23. cout << cycle(test2, 1, 4) << '\n';
  24.  
  25. int test3[1000] = { 6,2,3,0 };
  26. cout << cycle(test3, 1, 4) << '\n';
  27.  
  28. int test4[1000] = { 5,4,3,1,0,6,100 };
  29. cout << cycle(test4, 2, 7) << '\n';
  30.  
  31. int test5[1000] = { 5,3,1,4,2,6,100 };
  32. cout << cycle(test5, 2, 7) << '\n';
  33. }
Success #stdin #stdout 0s 4244KB
stdin
Standard input is empty
stdout
1
1
0
0
1