Advertisement
Proff_Ust

MatrixMove

Sep 29th, 2019
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.64 KB | None | 0 0
  1. #include <iostream>
  2. #include <clocale>
  3. #define N 2//заменяет в тексте программы символ N на символ 2
  4. #define M 3//
  5. using namespace std;
  6. //void PrintMatr(float** Matr)
  7. void PrintMatr(float Matr[N][M])
  8. {
  9.     for(int i=0;i<N;i++)
  10.     {
  11.         for(int j=0;j<M;j++)
  12.             cout<<Matr[i][j]<<" ";
  13.         cout<<endl;
  14.     }
  15. }
  16.  
  17. void MoveInLine(float *line, int moveIndex)//перемещает элемент с позиции moveIndex в конец строки line
  18. {
  19.     float tmp;
  20.     tmp = line[moveIndex];//запоминаем ихсодное значение жлемента строки
  21.     line[moveIndex] = line[M-1];//присваиваем элементу строки значение последнего элемента в строке
  22.     line[M-1] = tmp;//последнему элементы присваиваем значение из временной переменной
  23. }
  24.  
  25. int main()
  26. {
  27.     setlocale(0,"Russian");
  28.     //float **Matrix = new float*[N];
  29.     //for(int i=0;i<N;i++)
  30.     //    Matrix[i] = new float[M];
  31.     float Matrix[N][M];//объявляем матрицу
  32.     for(int i=0;i<N;i++)
  33.         for(int j=0;j<M;j++)
  34.             cin>>Matrix[i][j];
  35.  
  36.     PrintMatr(Matrix);
  37.  
  38.     for(int i=0;i<N;i++)
  39.         for(int j=1;j<M-1;j++)//первый и последний жлемент проверять нет смысла, так как у них только один сосед
  40.             if(((Matrix[i][j-1]<0)&&(Matrix[i][j+1]>0))||((Matrix[i][j-1]>0)&&(Matrix[i][j+1]<0)))
  41.                MoveInLine(Matrix[i], j);
  42.  
  43.     PrintMatr(Matrix);
  44.     return 0;
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement