Advertisement
Guest User

Untitled

a guest
Feb 21st, 2020
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.23 KB | None | 0 0
  1. #include <iostream>
  2. #include "func.h"
  3.  
  4. int main() {
  5.     float a, b, c, d, e;
  6.     int task;
  7.     struct Circle cir;
  8.     vector<vector<float> > arr;
  9.     arr.resize(3);
  10.     for (int i = 0; i < 3; i++) {
  11.         arr[i].resize(3);
  12.         for (int j = 0; j < 3; j++) {
  13.             arr[i][j] = i + j;
  14.         }
  15.     }
  16.  
  17.     scanf("%f %f %f %f %f %f %f\n", &a, &b, &c, &d, &cir.x, &cir.y, &e);
  18.  
  19.     scanf("%d\n", &task);
  20.     if (task == 1) {
  21.         IntPartOfNumber1(&a);
  22.         ChangeNumberSign1(&b);
  23.         CircleShift1(&cir, &c, &d);
  24.         //MatrixMultiplication1(&arr, e);
  25.         printf("Через указатели:\nЦелая часть: %.2f\n", a);
  26.         printf("Замена знака: %.2f\n", b);
  27.         printf("Сдвиг на вектор: %.2f %.2f \n", cir.x, cir.y);
  28.         printf("Через ссылку\n");
  29.     } else {
  30.         IntPartOfNumber2(a);
  31.         ChangeNumberSign2(b);
  32.         CircleShift2(cir, c, d);
  33.         MatrixMultiplication2(arr, e);
  34.         printf("Целая часть: %.2f\n", a);
  35.         printf("Замена знака: %.2f\n", b);
  36.         printf("Сдвиг на вектор: %.2f %.2f \n", cir.x, cir.y);
  37.         printf("Умножение матрицы: \n");
  38.         for (int i = 0; i < 3; i++) {
  39.             for (int j = 0; j < 3; j++) {
  40.                 printf("%2.f ", arr[i][j]);
  41.             }
  42.             printf("\n");
  43.         }
  44.     }
  45.  
  46.     /*printf("Умножение на число:\n");
  47.      for (int i=0; i<3; i++){
  48.          for (int j=0; j<3; j++){
  49.              printf("%.2f ", arr[i][j]);
  50.          }
  51.          printf("\n");
  52.      }*/
  53.  
  54.     return 0;
  55. }
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63. #include "func.h"
  64.  
  65.  
  66. void IntPartOfNumber1(float *a) {
  67.     if (*a >= 0)
  68.         *a = floor(*a);
  69.     else *a = ceil(*a);
  70. };
  71.  
  72. void IntPartOfNumber2(float& aa) {
  73.     if (aa >= 0)
  74.         aa = floor(aa);
  75.     else aa= ceil(aa);
  76. };
  77.  
  78.  
  79.  
  80.  
  81. void ChangeNumberSign1(float *b) {
  82.     float t;
  83.     t = *b;
  84.     t = t * (-1.0);
  85.     *b = t;
  86. }
  87.  
  88. void ChangeNumberSign2(float& bb) {
  89.     float t;
  90.     t = bb;
  91.     t = t * (-1.0);
  92.     bb = t;
  93. }
  94.  
  95.  
  96.  
  97. void CircleShift1(Circle *cir, float *c, float *d) {
  98.     cir->x = cir->x + *c;
  99.     cir->y = cir->y + *d;
  100. }
  101.  
  102.  
  103. void CircleShift2(Circle &cir, float &cc, float &dd) {
  104.     cir.x = cir.x + cc;
  105.     cir.y = cir.y + dd;
  106. }
  107.  
  108. /*void MatrixMultiplication1(vector<vector<float> >* arr, float e) {
  109.     for (int i=0; i<3; i++){
  110.         for (int j=0; j<3; j++){
  111.             *arr[i][j] *= e;
  112.         }
  113.     }
  114. }*/
  115.  
  116. void MatrixMultiplication2(vector<vector<float> >&arr, float e) {
  117.     for (int i=0; i<3; i++){
  118.         for (int j=0; j<3; j++){
  119.             arr[i][j] *= e;
  120.         }
  121.     }
  122. }
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134. #ifndef PR1_FUNC_H
  135. #define PR1_FUNC_H
  136.  
  137. #include <cmath>
  138. #include <vector>
  139. using namespace std;
  140.  
  141. struct Circle {
  142.     float x;
  143.     float y;
  144. };
  145.  
  146.  
  147. void IntPartOfNumber1(float *a);
  148. void IntPartOfNumber2(float& aa);
  149.  
  150. void ChangeNumberSign1(float *b);
  151. void ChangeNumberSign2(float& bb);
  152.  
  153. void CircleShift1(Circle *cir, float *c, float *d);
  154. void CircleShift2(Circle &cir, float &cc, float &dd);
  155.  
  156. void MatrixMultiplication1(vector<vector<float> >* arr, float e);
  157. void MatrixMultiplication2(vector<vector<float> > &arr, float e);
  158.  
  159. #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement