Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.06.2019, 22:00   #1
kk_evr
Новичок
Джуниор
 
Регистрация: 23.06.2019
Сообщений: 1
Восклицание [C++] Помогите дописать программу. Смог сделать только класс Array, класс Bitstring вообще не понимаю

Помогите дописать программу. Смог сделать только класс Array, класс Bitstring вообще не понимаю.
Задание:
Создать базовый класс Array с полями: массив типа unsigned char и поле для
хранения количества элементов у текущего объекта-массива. Максимально возможный
размер массива задается статической константой. Реализовать конструктор
инициализации, задающий количество элементов и начальное значение (по умолчанию
0). Реализовать метод доступа к элементу, перегрузив операцию индексирования []. При
этом должна выполняться проверка индекса на допустимость.
Реализовать в классе Array виртуальную функцию поэлементного сложения
массивов. Реализовать два класса, переопределив виртуальную функцию сложения.
Вызывающая программа должна продемонстрировать все варианты вызова виртуальных
функций.
Создать класс Fraction (Класс для работы с дробными десятичными числами.
Количество цифр в дробной части должно задаваться в отдельном поле и
инициализироваться конструктором. Знак представить отдельным полем sing.) и класс
BitString (Класс для работы с битовыми строками не более чем из 100 бит. Битовая
строка должна быть представлена массивом типа unsigned char, каждый элемент
которого принимает значение 0 или 1.).
Код:
#include "pch.h"
#include <iostream>
using namespace std;
class Array
{
protected:
    static const int s = 15;
    unsigned char a[s];
    int element;
public:
    Array(unsigned char *s, int f = 0) {
        element = f;
        for (int i = 0; i < f; i++) {
            a[i] = s[i];
        }
    };
    Array() = default;
 
    unsigned char operator [] (int d) {
        if (d >= element || d < 0) {
            cout << "error";
            return 0;
        }
        return a[d];
    }
    virtual void slozhenie(const Array &y) {
        int k = 0;
        for (int i = 0; i < element; i++) {
            a[i] = a[i] + y.a[i] - '0' + k;
            k = 0;
            if (a[i] > '9') {
                k++;
                a[i] = a[i] - 10;
            }
        }
        if (k == 1) a[element] = '1';
    }
};
int main()
{
}
kk_evr вне форума Ответить с цитированием
Старый 23.06.2019, 22:42   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Цитата:
Сообщение от kk_evr Посмотреть сообщение
класс Bitstring вообще не понимаю.
Что именно не понимаете? Надо хранить массив из 0/1 до 10 шт. и о перации с ними.
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C#. Класс Array с Complex. jOBER Помощь студентам 1 21.04.2019 19:26
Разработать шаблонный класс Array TheSerega Qt и кроссплатформенное программирование С/С++ 3 27.12.2017 09:32
Класс Array Katya97 Помощь студентам 4 22.06.2016 19:35
Нужно сделать наследование классов, 1 класс находится первой форме, 2 класс во второй. Вероника99 Помощь студентам 3 29.04.2016 23:02
Дописать класс maksimyshka Общие вопросы C/C++ 0 02.12.2012 17:50