Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- using namespace std;
- void create_Matrix(int** Matrix, int n)
- {
- for (int i = 0; i < n; i++)
- {
- for (int j = 0; j < n; j++)
- {
- cout << "Элемент[" << i << "][" << j << "]=";
- cin >> Matrix[i][j];
- }
- }
- }
- void show_Matrix(int** Matrix, int n)
- {
- for (int i = 0; i < n; i++)
- {
- for (int j = 0; j < n; j++)
- {
- cout << Matrix[i][j] << "\t";
- }
- cout << endl;
- }
- }
- /////////////////////////////////////////////////////////////////
- int findindex_v(int** Matrix, int I, int n)//ищем индекс отрицательного элемента в строке (задание в)
- {
- for (int j = 0; j < n; j++)
- {
- if (Matrix[I][j] < 0)
- return j;
- }
- return -1;//если ничего не нашли возвращаем "мнимый" индекс, чтобы это понять
- }
- int get_b_v(int** Matrix,int I, int n)//задание под буквой в
- {
- int j;
- int summ = 0;
- j=findindex_v(Matrix, I, n); //по условию, если нет отриц чисел, получаем сумму 100
- if (j == -1)
- return 100;
- for (int k = j+1; k < n; k++)//после этого элемента суммируем все числа
- {
- summ += Matrix[I][k];
- }
- return summ;
- }
- /////////////////////////////////////////////////////////////////
- //тут по аналогии с заданием в, только слегка изменено
- int findindex_g(int** Matrix, int I, int n)//ищем индекс последнего (первого с конца) отрицательного элемента в строке (задание г)
- {
- for (int j = n-1; j >=0; j--)
- {
- if (Matrix[I][j] < 0)
- return j;
- }
- return -1;//если ничего не нашли возвращаем "мнимый" индекс, чтобы это понять
- }
- int get_b_g(int** Matrix, int I, int n)//задание под буквой г
- {
- int j;
- int summ = 0;
- j = findindex_g(Matrix, I, n); //по условию, если нет отриц чисел, получаем сумму -1
- if (j == -1)
- return -1;
- for (int k = 0; k < j; k++)//до этого элемента суммируем все числа
- {
- summ += Matrix[I][k];
- }
- return summ;
- }
- int main()
- {
- setlocale(LC_ALL, "ru");
- int n;
- cout << "Введите размерность матрицы n*n: " << endl;
- cin >> n;
- int** Matrix = new int* [n];
- for (int i = 0; i < n; i++)
- {
- Matrix[i] = new int[n];
- }
- cout << "Введите матрицу " << endl;
- create_Matrix(Matrix, n);
- show_Matrix(Matrix, n);
- cout << endl;
- //////////////////////////////////////////////////////
- int* b_v = new int[n];
- int I;
- for (int I = 0; I < n; I++)
- {
- b_v[I] = get_b_v(Matrix, I, n);
- }
- cout << "Массив чисел для задания В: " << endl;
- for (int i = 0; i < n; i++)
- {
- cout << b_v[i] << ' ';
- }
- cout << endl;
- ///////////////////////////////////////////////////////
- int* b_g = new int[n];
- for (int I = 0; I < n; I++)
- {
- b_g[I] = get_b_g(Matrix, I, n);
- }
- cout << "Массив чисел для задания Г: " << endl;
- for (int i = 0; i < n; i++)
- {
- cout << b_g[i] << ' ';
- }
- cout << endl;
- ///////////////////////////////////////////////////////
- for (int i = 0; i < n; i++)
- delete[] Matrix[i];
- delete[] Matrix;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement