Advertisement
Derga

Untitled

Mar 21st, 2023
624
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.81 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <vector>
  4.  
  5. using namespace std;
  6.  
  7. void print(const vector<int>& v) {
  8.     for (const auto& element : v) {
  9.         cout << element << ' ';
  10.     }
  11.     cout << '\n';
  12. }
  13.  
  14. int getNumberSize(int number) {
  15.  
  16. }
  17.  
  18. bool testNumbersSize() {
  19.     vector<int> numbers;
  20.     vector<int> sizes;
  21.     for (int i = 1, number = 1; i <= 10; ++i) {
  22.         numbers.push_back(number);
  23.         sizes.push_back(i);
  24.         number *= 10;
  25.     }
  26.  
  27.     for (int i = 0; i < sizes.size(); ++i) {
  28.         if (sizes[i] != getNumberSize(numbers[i])) {
  29.             return false;
  30.         }
  31.     }
  32.     return true;
  33. }
  34.  
  35. bool isMirrorRow(string str) {
  36.  
  37. }
  38.  
  39. bool testIsMirrorRow() {
  40.     vector<string> is_mirror = { "", "a", "aba", "abba" };
  41.     vector<string> is_not_mirror = { "ab", "abcb", "aab" };
  42.    
  43.     for (auto elem : is_mirror) {
  44.         if (!isMirrorRow(elem)) {
  45.             return false;
  46.         }
  47.     }
  48.    
  49.     for (auto elem : is_not_mirror) {
  50.         if (isMirrorRow(elem)) {
  51.             return false;
  52.         }
  53.     }
  54.    
  55.     return true;
  56. }
  57.  
  58. void swapMinAndMax(vector<int>& nums) {
  59.  
  60. }
  61.  
  62. int main() {
  63.     /*задание 1
  64.     Реализовать функцию int getNumberSize(int number),
  65.     которая принимает число и возвращает количество разрядов в этом числе.
  66.     Например: число 100 - 3 разряда
  67.                      10 - 2
  68.                       8 - 1
  69.                  123114 - 6
  70.              2000000000 - 10
  71.     */
  72.     if (testNumbersSize()) {
  73.         cout << "Task 1 complete";
  74.     } else {
  75.         cout << "Task 1 not complete";
  76.     }
  77.  
  78.     /*задание 2
  79.     Реализовать фукнцию bool isMirrorRow(string str) ,
  80.     которая принимает строку и возврашает true, если
  81.     строка зеркальная иначе возвращаем false.
  82.    
  83.     Желательно использовать цикл while(условие) {то, что выполняем, пока условие - true}.
  84.    
  85.     пример зеркальных строк - "", "a", "aba", "abba", "qwertytrewq"
  86.     пример не зеркальных строк = "ab", "aab", "asds"
  87.     */
  88.  
  89.     if (testIsMirrorRow()) {
  90.         cout << "Task 2 complete";
  91.     } else {
  92.         cout << "Task 2 not complete";
  93.     }
  94.  
  95.     /*задание3
  96.     Реализовать функцию void swapMinAndMax(vector<int>& nums),
  97.     которая принимает вектор чисел,
  98.     находит позицию певрого минимального элемента,
  99.     находит позицию певрого максимального элемента и меняет их местами.
  100.     */
  101.  
  102.     return 0;
  103. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement