Задать вопрос
@tmtimuchin

Как перевести код в ООП c++?

Есть простая программа на C++, которая по заданной формуле считает элементы двух массивов, если те соответствуют положительным элементам третьего массива. Вот код:
#include <iostream>
#include <cmath>

using namespace std;

int main(void)
{
    int i = 0;
    int n = 10;
    float avrg = 0;
    int sum = 0;
    
    
    // Определяю массивы
    float a[n] = { -7, 17, 69, 25, 88, 14, 84, 36, -4, 75 };
    float b[n] = { 16, -30, 11, 39, 15, -36, 12, 6, -30, 5 };
    float c[n] = { -19, 35, -6, 15, -9, 13, 8, 12, -33, 42 };
    
    cout << "Первый массив: ";
    for (i = 0; i < n; i++)
        cout << a[i] << " ";
    cout << "\nВторой массив: ";
    for (i = 0; i < n; i++)
        cout << b[i] << " ";
    cout << "\nТретий массив: ";
    for (i = 0; i < n; i++)
        cout << c[i] << " ";
    
    
    // Определяю массив y
    int y[n];
    int yn = 0;
    
    for (i = 0; i < 10; i++) {
        if (c[i] > 0) {
            y[i] = a[i] - b[i];
            yn++;
        } else {
            y[i] = pow(10, 23);
        }
    }
    
    cout << "\nЧетвёртый массив: ";
    for (i = 0; i < n; i++) {
        if (y[i] > -100) {
            cout << y[i] << " ";
        }
    }
    
    
    // Нахожу средние арифметические
    for (i = 0; i < n; i++) {
        if (y[i] > -100) {
            sum += y[i];
        }
    }
    avrg = sum / yn;
    cout << "\nСреднее арифметические: " << avrg << endl;
    
    
    // Дисперсия массива y
    int d = 0;
    for (i = 0; i < n; i++) {
        if (y[i] > -100) {
            d += (pow((y[i] - avrg), 2)) / (6 - 1);
        }
    }
    cout << "Дисперсия: " << d;
    
    // Минимальный элемент массива y
    // float min = y[0];
    
    // for (i = 0; i < n; ++i) {
    //     if (y[i] < min) {
    //         min = y[i];
    //     }
    // }
    // cout << "\nМинимальный элемент массива: " << min;
    
    return 0;
}


Пожалуйста, помогите перевести эту программу в ООП!
  • Вопрос задан
  • 207 просмотров
Подписаться 1 Средний 1 комментарий
Пригласить эксперта
Ответы на вопрос 2
nazares
@nazares
Software Engineer
Ответ написан
Комментировать
@12rbah
Пожалуйста, помогите перевести эту программу в ООП!

Это задание какое-то? Если нет, то тут особого смысла нет переводить в ООП. Можно создать класс, конструктор на вход принимает например массив интов и у класса есть функции getAverage, и тд., которые вы вызываете от объекта. Можете засунуть туда функций сколько пожелаете, но программы такого типа в целом не требуют какого-то сложного архитектурного подхода, т.к. очень легко масштабируются.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы