Advertisement
HellFinger

DZ_1

Oct 27th, 2019
526
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 7.94 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7.     //ГЛАВА 1
  8.  
  9.         //1. Выведите вашу фамилию
  10.  
  11.         cout << "Victor Ivanov" << endl; //Конструкция cout << выводит инфорамцию, endl - переход на следующую строку
  12.  
  13.  
  14.         //2. Введите с клавиатуры 2 числа и выведите их сумму
  15.  
  16.         int a2, b2; //Чтобы переменными можно было оперировать, их надо задать, обьвив их тип данных и имя
  17.         int* pa2 = &a2;
  18.         int* pb2 = &b2; //Создаём указатели на числа
  19.  
  20.  
  21.         cin >> a2 >> b2; //Конструкци cin >> считывает введённые данные с клавиатуры через пробел или Enter
  22.  
  23.         cout << "Sum is:" << *pa2 + *pb2 << endl; /*Выводим сумму просто сложив значения на которые указывают pa и pb/ * перед указателем его разименовывает т.е. указывает, что лежит в
  24.                                                     Переменной, на которую он указывает (как много слова 'указывает')*/
  25.         //3. Введите число с клавиатуры и выведите
  26.             int a3;
  27.  
  28.             cin >> a3;
  29.  
  30.             int* pa3 = &a3;
  31.  
  32.             // a. Само число
  33.                 cout << *pa3 << endl;
  34.  
  35.             // b. Указатель на это число
  36.  
  37.                 cout << pa3 << endl;
  38.  
  39.             /* c. Следующую после указателя ячейку в памяти (тут формулировка задания не совсем корректна, имеется в виду следующая ячейка в памяти после обьекта, на который
  40.              *  указывает указатель)
  41.              */
  42.                 cout << ++pa3 << endl; /* Если прибавлять число k к указателю, то он сдвигается на k*Размер типа данных указателя ячеек. При использовании
  43.                                             инкремента( переменная++ или ++переменная), изменяется,если же не нужно изменять значения то нужно писать переменная + 1
  44.                                         */
  45.  
  46.  
  47.          //4. Вывести значение переменной через указатели
  48.  
  49.                 int a4;
  50.                 int* pa4 = &a4;
  51.  
  52.  
  53.                 cout << *pa4 <<endl;
  54.  
  55.          //5. Вывести сумму двух чисел через указатели
  56.  
  57.                 int a5, b5;
  58.  
  59.                 cin >> a5 >> b5;
  60.  
  61.                 int* pa5 = &a5;
  62.                 int* pb5 = &b5;
  63.  
  64.                 cout << *pa5 + *pb5 << endl;
  65.  
  66.     // ГЛАВА 2
  67.         //1. Найти модуль числа, не используя abs() или fabs()
  68.                 int a6 = -5;
  69.                 int* pa6 = &a6;
  70.  
  71.                 // Напомним, что модуль числа - равна числу, если оно положительное и минус числу, если оно отрицательно
  72.  
  73.                 cout << "module is:";
  74.  
  75.                 if (*pa6 < 0){ //Если число, лежащее по указателе меньше нуля
  76.                     cout << *pa6 * (-1); //то выведем его же, но домноженное на минус 1
  77.                 }
  78.                 else{
  79.                     cout << *pa6; // иначе просто выводим число
  80.                 }
  81.                 cout << endl;
  82.         //2. Определить, является ли число чётным
  83.                 int a7 = 8;
  84.  
  85.                 int* pa7 = &a7;
  86.                 // Число четное, если оно эквивалентно нулу по модулю 2 (если остаток его деления на 2 равен 0)
  87.  
  88.                 if (*pa7 % 2 == 0){
  89.                     cout << true; //Если остаток от деления на 2 (% - операция взятия остатка) равен нулю, то пишем true - истина, иначе false - ложь
  90.                 }
  91.                 else{
  92.                     cout << false;
  93.                 }
  94.                 cout << endl;
  95.  
  96.         //3. Выведите наименьшее из двух чисел
  97.                 int a8, b8;
  98.                 cin >> a8 >> b8;
  99.  
  100.                 int* pa8 = &a8;
  101.                 int* pb8 = &b8;
  102.  
  103.                 cout << "min is:";
  104.  
  105.                 if (*pa8 > *pb8){ //Если число по указателю pb8 меньше числа по указателю pa8 то вывести число по указателю на pb8 иначе по pa8
  106.                     cout << *pb8;
  107.                 }
  108.                 else{
  109.                     cout << *pa8;
  110.                 }
  111.  
  112.                 cout << endl;
  113.  
  114.  
  115.         //4. Вывести наименьшее из трёх чисел
  116.                 int a9, b9, c9;
  117.                 cin >> a9 >> b9 >> c9;
  118.                 int* pa9 = &a9;
  119.                 int* pb9 = &b9;
  120.                 int* pc9 = &c9;
  121.  
  122.                 cout << "min is:";
  123.  
  124.                 //Если a9 < b9 то проверяем, меньше ли он c9? если да, то a9 - наименьшее число, если нет, то c9 - наименьшее, аналогично сравниваем b9 с с9, если оно меньше a9
  125.  
  126.                 if (*pa9 < *pb9){
  127.                     if (*pa9 < *pc9){
  128.                         cout << *pa9;
  129.                     }
  130.                     else{
  131.                         cout << *pc9;
  132.                     }
  133.                 }
  134.                 else{
  135.                     if (*pb9 < *pc9){
  136.                         cout << *pb9;
  137.                     }
  138.                     else{
  139.                         cout << *pc9;
  140.                     }
  141.  
  142.                 }
  143.                 cout << endl;
  144.  
  145.  
  146.         //5. Решение аналогично предыдущему
  147.  
  148.  
  149.  
  150.         //6. Задача про Burger King
  151.  
  152.                 int a10, b10, k10;
  153.  
  154.  
  155.                 cin >> a10 >> b10 >> k10;
  156.  
  157.                 int* pa10 = &a10;
  158.                 int* pb10 = &b10;
  159.                 int* pk10 = &k10;
  160.  
  161.                 //Если у нас число k10 одновременно (С помощью оператора && обозначающему и) меньше b10 и больше a10 то мы можем порекомендовать пользователю сходить в Burger King
  162.  
  163.                 if (*pa10 < *pk10 && *pk10 < *pb10){
  164.                     cout << true;
  165.                 }
  166.                 else{
  167.                     cout << false;
  168.                 }
  169.  
  170.                 cout << endl;
  171.  
  172.         //7. Задача про обои
  173.  
  174.                 int m11, n11, k11;
  175.  
  176.  
  177.                 cin >> m11 >> n11 >> k11;
  178.  
  179.                 int* pm11 = &m11;
  180.                 int* pn11 = &n11;
  181.                 int* pk11 = &k11;
  182.  
  183.                 /*Поделим площадь стен комнаты на пощадь рулона обоев. Если остаток такого деления равен нулю,
  184.                  * то нам нужно полученное делением количество рулонов, иначе нужен ещё один рулон
  185.                  */
  186.                 int c11 = *pm11 * *pn11;
  187.                 int* pc11 = &c11;
  188.  
  189.                 if (*pc11 % *pk11 == 0){
  190.                     cout << *pc11 / *pk11;
  191.                 }
  192.  
  193.                 else{
  194.                     cout << *pc11 / *pk11 + 1;
  195.                 }
  196.  
  197.     return 0;
  198. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement