Задача: Кв. матрица (динамич. двумерный массив), найти послед.(вектор)

Тема в разделе "C/C++/C#", создана пользователем Gantz, 16 дек 2010.

  1. Gantz

    Gantz Гость

    Условие
    [​IMG]


    Помогите решить задачу.
    С++/CodeBlocks
     
  2. DarkKnight

    DarkKnight Well-Known Member
    C\C++ Team

    Регистрация:
    1 авг 2010
    Сообщения:
    653
    Симпатии:
    0
    Код (C++):
    /*
    Дана квадратная матрица A[i,j].
    Получить последовательность числе bi, i = 1,...n, равных произведению отрицательных элементов строк.
    */

    /*
    codeby.net
    Autor: DarkKnight125 (Denis Goncharov)
    */

    #include <iostream>
    #include <time.h>

    using namespace std;

    void main(void)
    {
    setlocale(LC_ALL,".1251"); //Установим локаль в 1251-кодовую страницу
    srand(time(NULL)); // Инициализация генератора случ. величины
    int **Arr; //Наша матрица
    int Size; //Размер квадратной матрицы
    int P; //Произведение отриц. членов
    int *b; //Массив произведения отрицательных элементов строк (для каждой строки)

    cout << "Введите размер матрицы Size = ";
    cin >> Size; //Введем размер кв. матрицы
    Arr = new int*[Size]; //Выделим память под строки
    b = new int[Size]; //Выделим память под последовательность чисел (результат)

    //Обойдем все строки
    for (int i = 0; i< Size; i++)
    {
    P = 1; //Первоначально присвоим произведению 1
    Arr[i] = new int[Size]; //Выделим память под столбцы
    for (int j = 0; j< Size; j++) //Обойдем столбцы для текущей строки
    {
    Arr[i][j] = rand()%100 * (rand()%2?1:-1); //Сгенерируем случ. величину = [-99..99]
    cout << Arr[i][j] << " "; //Выведим на экран
    if (Arr[i][j] < 0) // Если элемент отрицателен
    P *= Arr[i][j]; //Увеличим произведение
    }
    b[i] = P; //Запишим в последовательность (произведение отриц. элементов тек. строки)
    cout << endl;
    cout << "Произведение отрицательных элементов текущей строки = " << b[i] << endl;
    }  

    //Вывод результата
    cout << endl << "Результат : " << endl;
    cout << "b = ";
    //Обойдем весь массив последовательности и выведим на экран
    for (int i = 0; i< Size; i++)
    cout << b[i] <<",";
    }
     

    Вложения:

    • otricposl.jpg
      otricposl.jpg
      Размер файла:
      73,2 КБ
      Просмотров:
      19
Загрузка...
Похожие Темы - Задача Кв матрица
  1. Янчик
    Ответов:
    0
    Просмотров:
    491
  2. TrishaRay
    Ответов:
    1
    Просмотров:
    783
  3. elzim
    Ответов:
    0
    Просмотров:
    932
  4. ShaoKahn
    Ответов:
    0
    Просмотров:
    1.131
  5. eremin-sanek
    Ответов:
    3
    Просмотров:
    1.108

Поделиться этой страницей