Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Задачи на массивы в С++. Помогите!!!

74K
13 февраля 2012 года
Лен4ик
7 / / 13.02.2012
Помогите, пожалуйста, решить задачи и составить программы на С++!!!
1. В квадратной целой матрице заменить все нечётные элементы суммой элементов главной диагонали.

2.1. Задана числовая матрица В. Написать функцию для нахождения значения максимального элемента матрицы и его индексов.
2.2. Найти максимальный элемент матрицы А и вычесть его из элементов всех столбцов, кроме того, в котором он находится.
10K
14 февраля 2012 года
Cybernetic
106 / / 22.07.2009
А в чем была проблема? Код написать?
Впредь лучше задавайте конкретный вопрос, а не просите решить за Вас задачу.

Код не компилил, не проверял, но логически все будет выглядеть именно так.

Код:
#include <iostream>

void ShowMatrix (const int** matrix, int size)
{
    for (int i =0; i < size; i++)
    {
        for (int j =0; j < size; j++)
        {
            std::cout << matrix[ i][j] << "\t";
        }
        std::cout << std::endl;
    }
    std::cout << std::endl;
}

int main()
{
    int matrixSize;

    std::cout << "Введите размер матрицы: ";
    std::cin >> matrixSize;

    int** matrix = new int*[matrixSize];
    for (int i =0; i < matrixSize; i++)
    {
        matrix = new int[matrixSize];
        for (int j =0; j < matrixSize; j++)
        {
            std::cout << "Введите элемент [" << i+1 << "," << j+1 << "]" << std::endl;
            std::cin >> matrix[ i][j];
        }
    }

    std::cout << "Исходная матрица:" << std:: endl;
    ShowMatrix(matrix, matrixSize);

==============1======================

    int sumMainDiag = 0;
    for (int i = 0; i < matrixSize; i++)
    {
        sumMainDiag += matrix[ i][ i];
    }

    for (int i =0; i < matrixSize; i++)
    {
        for (int j =0; j < matrixSize; j++)
        {
            if (matrix[ i][j] % 2 == 1)
                matrix[ i][j] = sumMainDiag;
        }
    }

    std::cout << "Матрица после задания 1:" << std:: endl;
    ShowMatrix(matrix, matrixSize);

==============2.1====================

    int maxElement = matrix[0][0];
    int rowMaxElement;
    int columnMaxElement;

    for (int i =0; i < matrixSize; i++)
    {
        for (int j =0; j < matrixSize; j++)
        {
            if (matrix[ i][j] > maxElement)
            {
                maxElement = matrix[ i][j];
                rowMaxElement = i;
                columnMaxElement = j;
            }
        }
    }

   
    std::cout << "Максимальный элемент = " << maxElement << std::endl;
    std::cout << "Номер строки = " << rowMaxElement + 1 << std::endl;
    std::cout << "Номер столбца = " << columnMaxElement + 1 << std::endl;

==============2.2====================

    for (int i =0; i < matrixSize; i++)
    {
        for (int j =0; j < matrixSize; j++)
        {
            if (j == columnMaxElement)
                continue;

            matrix[ i][j] -= maxElement;
        }
    }

    std::cout << "Матрица после задания 2.2:" << std:: endl;
    ShowMatrix(matrix, matrixSize);

    for (int i =0; i < matrixSize; i++)
    {
        delete matrix[ i];
    }
    delete matrix;
}

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог