fork download
  1. #include <cstdlib>
  2. #include <iostream>
  3.  
  4. int main(int argc, char **argv)
  5. {
  6. // siejemy ziarno generatora liczb pseudolosowych, kazde kolejne losowanie inne
  7. srand(time(NULL));
  8. // pobieramy zakres od uzytkownika
  9. int _od;
  10. int _do;
  11. std::cout << "od: "; std::cin >> _od;
  12. std::cout << "do: "; std::cin >> _do;
  13. // pobieramy ile liczb zawiera ciag liczb a
  14. int n;
  15. std::cout << "n: "; std::cin >> n;
  16. // generujemy ciag a
  17. int *a = new int[n];
  18. for (size_t i = 0; i < n; i++)
  19. {
  20. /* losowanie np od 5 do 10:
  21.   _od = 5
  22.   _do = 10
  23.   rand()%(10 - 5 + 1) + 5 = rand()%6 + 5 = (0..5) + 5
  24.   */
  25. a[i] = rand()%(_do - _od + 1) + _od;
  26. std::cout << " " << a[i];
  27. }
  28. std::cout << std::endl;
  29. // obliczamy elementy ciagu b
  30. int *b = new int[n];
  31. for (size_t i = 0; i < n; i++)
  32. {
  33. // zerowanie elementu, 0 jest neutralne dla sumy
  34. b[i] = 0;
  35. for (size_t k = i; k < n; k++)
  36. {
  37. // sumujemy od a_i do a_{n-1}
  38. b[i] += a[k];
  39. }
  40. }
  41. bool rosnacy = true;
  42. // sprawdzamy czy ciag jest rosnacy
  43. for (size_t i = 0; i < n-1; i++)
  44. {
  45. // sprawdzamy czy warunek jest spelniony (tzn. czy cos go lamie)
  46. // odwrotnosc dla (a < b) to (a >= b)
  47. if (b[i] >= b[i+1])
  48. {
  49. std::cout << "ciag b nie jest rosnacy" << std::endl;
  50. rosnacy = false;
  51. break;
  52. }
  53. }
  54. if (rosnacy)
  55. std::cout << "ciag b jest rosnacy" << std::endl;
  56. delete a;
  57. delete b;
  58. // sprawdzenie dla poprawnych danych
  59. rosnacy = true;
  60. int c[] = {-1, 2, 3, 4};
  61. for (size_t i = 0; i < 3; i++)
  62. {
  63. if (c[i] >= c[i+1])
  64. {
  65. std::cout << "ciag c nie jest rosnacy" << std::endl;
  66. rosnacy = false;
  67. break;
  68. }
  69. }
  70. if (rosnacy)
  71. std::cout << "ciag c jest rosnacy" << std::endl;
  72. return 0;
  73. }
Success #stdin #stdout 0s 3472KB
stdin
-20 20 20
stdout
od: do: n:  -16 3 -5 17 12 6 18 0 -9 -12 3 -15 -2 14 3 -10 -4 12 3 -9
ciag b nie jest rosnacy
ciag c jest rosnacy