Advertisement
RobertDeMilo

YB1.3 Безопасное использование целочисленных типов

Oct 27th, 2023
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.95 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <cstdint>
  4. #include <limits>
  5.  
  6. using namespace std;
  7.  
  8. //void PrintAvg()
  9. //{
  10. //  vector<int> t = { -8, -7, 3 };
  11. //  int sum = 0;
  12. //
  13. //  for (int x : t)
  14. //  {
  15. //      sum += x;
  16. //  }
  17. //
  18. //  //int avg = sum / t.size();
  19. //  int avg = sum / static_cast<int>(t.size());
  20. //
  21. //  cout << avg << endl;
  22. //}
  23.  
  24. int main()
  25. {
  26.  
  27.     //cout << (-1 < 1u) << endl;
  28.  
  29.     //vector<int> x = { 4,5 };
  30.  
  31.     //for (int i = 0; i < x.size(); ++i)
  32.     //{
  33.     //  cout << i << " " << x[i] << endl;
  34.     //}
  35.    
  36.     //// сравнение знакового и беззнакового типа
  37.     //// (их сравнивать опасно потому что переменная i может быть отрицательной)
  38.    
  39.     //for (size_t i = 0; i < x.size(); ++i)
  40.     //{
  41.     //  cout << i << " " << x[i] << endl;
  42.     //}
  43.  
  44.     ////Перед сравнением привести x.size() к знаковому типу, тогда при сравнении будут два знаковых типа
  45.     //for (size_t i = 0; i < static_cast<int>(x.size()); ++i)
  46.     //{
  47.     //  cout << i << " " << x[i] << endl;
  48.     //}
  49.     //// Но здесь нужно быть увверенным что вектор не будет больше, чем 2^31 - 1 иначе случится переполнение
  50.  
  51.     /*PrintAvg();*/
  52.  
  53.     vector<int> v = { 1,4,6 };
  54.     //vector<int> v;
  55.  
  56.     /*for (int i = 0; i < v.size() - 1; ++i)
  57.     {
  58.         cout << v[i] << endl;
  59.     }*/
  60.  
  61.     /*for (size_t i = 0; i < v.size() - 1; ++i)
  62.     {
  63.         cout << v[i] << endl;
  64.     }*/
  65.  
  66.     /*for (size_t i = 0; i +1 < v.size(); ++i)
  67.     {
  68.         cout << v[i] << endl;
  69.     }*/
  70.  
  71.     /*for (size_t i = v.size() - 1; i >= 0; --i)
  72.     {
  73.         cout << v[i] << endl;
  74.     }*/
  75.  
  76.     for (size_t k = v.size(); k > 0; --k)
  77.     {
  78.         size_t i = k - 1;
  79.         cout << v[i] << endl;
  80.     }
  81.  
  82.     return 0;
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement