Стоимость: 350 руб.

Содержание

Условие задачи

Выбор функций, назначение функций

Шаблоны функций

Состав данных функции main

Блок-схема алгоритма функции main

Описание данных функции обработки

Блок-схема алгоритма функции count_of_rows

Код консольного приложения с подпрограммами

Код консольного приложения с динамической матрицей

Описание класса и методов

Код консольного приложения с использованием класса

Описание классов и методов

Код консольного приложения с использованием класса-наследника

Заключение

Список литературы


Нужна такая же работа?

Оставь заявку и получи бесплатный расчет

Несколько простых шагов

Оставьте бесплатную заявку. Требуется только e-mail, не будет никаких звонков

Получайте предложения от авторов

Выбирете понравившегося автора

Получите готовую работу по электронной почте

Стоимость: 350 руб.

На странице представлен фрагмент

Реши любую задачу с помощью нейросети.

Выбор функций, назначение функций

Алгоритм вычисления количества строк, произведение элементов которых больше определенного значения, одинаков (с точностью до обозначений и констант) для матриц A, B. Поэтому вычисление этих значений следует оформить как функцию (назовем ее count_of_rows), а затем применить ее два раза к конкретным (фактическим) матрицам A, B с различными значениями параметра Q (для матрицы A выбирается Q, равное единице). Алгоритм ввода одинаков для всех матриц, поэтому ввод также оформим как функцию (с названием input).

Код консольного приложения с подпрограммами

#include
#include
#include
using namespace std;

/* Функция ввода матрицы */
void input(float mat[][7], int n, int m)
{
int i, j;
for (i = 0; i < n; i++) { for (j = 0; j < m; j++) cin >> mat[i][j];
}
}

/* Функция обработки */
int count_of_rows(float mat[][7], int n, int m, float q)
{
int i, j, count = 0, prod;
for (i = 0; i < n; i++) { prod = 1; for (j = 0; j < m; j++) prod *= mat[i][j]; if (prod > q)
count++;
}
return count;
}

int main()
{
setlocale(LC_ALL, “rus”);
float A[7][7], B[7][7]; // A[3][7], B[4][5]
float Q;

cout << "Введите элементы матрицы A. " << endl; input(A, 3, 7); cout << endl << "Число строк, произведение элементов которых больше 1, равно " << count_of_rows(A, 3, 7, 1) << endl; cout << endl << "Введите элементы матрицы B. ... Код консольного приложения с динамической матрицей #include
using namespace std;

/* Функция ввода и выделения памяти под матрицу */
float** input(int n, int m)
{
int i, j;
float **mat;
mat = new float*[n];
for (i = 0; i < n; i++) { mat[i] = new float[m]; for (j = 0; j < m; j++) cin >> mat[i][j];
}
return mat;
}

/*Функция освобождения памяти*/
void delMat(float** mat, int n)
{
for (int i = 0; i < n; i++) { delete[] mat[i]; } delete[] mat; } /* Функция обработки */ int count_of_rows(float** mat, int n, int m, float q) { int i, j, count = 0, prod; for (i = 0; i < n; i++) { prod = 1; for (j = 0; j < m; j++) prod *= mat[i][j]; if (prod > q)
count++;
}
return count;
}

int main()
{
setlocale(LC_ALL, “rus”);
float **A, **B; // A[3][7], B[4][5]
float Q;

cout << "Введите элементы матрицы A. ... Код консольного приложения с использованием класса #include
#include
#include
using namespace std;

class maker
{
private:
float **mat;
int n, m;
char c;
public:
maker(int n, int m, char c);
~maker();
void input();
int count_of_rows(float q);
};

/* Конструктор с выделением памяти под матрицу */
maker::maker(int n, int m, char c)
{
this->n = n;
this->m = m;
this->c = c;
mat = new float*[n];
for (int i = 0; i < n; i++) { mat[i] = new float[m]; } } /* Метод для ввода элементов матрицы */ void maker::input() { int i, j; cout << "Введите элементы матрицы " << c << ". ... Код консольного приложения с использованием класса-наследника #include
#include
#include
using namespace std;

class maker
{
protected:
float **mat;
int n, m;
char c;
public:
maker(int n, int m, char c);
~maker();
void input();
int count_of_rows(float q);
};

/* Конструктор с выделением памяти под матрицу */
maker::maker(int n, int m, char c)
{
this->n = n;
this->m = m;
this->c = c;
mat = new float*[n];
for (int i = 0; i < n; i++) { mat[i] = new float[m]; } } /* Метод для ввода элементов матрицы */ void maker::input() { int i, j; cout << "Введите элементы матрицы " << c << ". ...

Узнайте сколько будет стоить выполнение вашей работы

   

Список использованной литературы

  1. 1. Б. Страуструп. Язык программирования С++. — Издательство: Бином, 2011. – 1136 с.
4.88
Foxili
С удовольствием возьмусь за выполнение работ, с которыми необходима помощь! Опыт написания докладов,эссе, контрольных работ, рефератов и т.п. более 5 лет. Гарантия оригинальности работы от 50-70%, в зависимости от типа работы.