Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как реализовать? https://www.cyberforum.ru/ cpp-beginners/ thread626054.html
добрый вечер, прораммисты! Помогите, пожалуйста, советом. Есть таблица в excel, которая содержит информацию о ТО транспорта(водитель, машина, км). Нужно, за 250км до следующего ТО отправить...
C++ Округлить число
Ну начнём))) Во-первых Visual Studio 10(Roudn и Trunc не видно) Во вторых float и cell +-.5 не подоходят так ,как числа могут поподаться как отрицальные так и положительные Допустим если в функцию...
C++ Вытащить текст между тегов html
Здравствуйте, форумчане! Нужно вытащить текст между тегами. Из этого: <html> <tag1>Текст 1</tag1> <html> Должно получиться: Текст 1
C++ Ошибка: левый операнд должен быть левосторонним Имеется задача: печатать числа от 1 до 20, через каждое 5-ое число переходить на новую строку. #include <iostream> #include <locale.h> using namespace std; int main() { setlocale(LC_ALL,... https://www.cyberforum.ru/ cpp-beginners/ thread625998.html
C++ Шаблон класса. Ошибка `missing type specifier` https://www.cyberforum.ru/ cpp-beginners/ thread625979.html
Вот код: template <int value, typename type> class Class { public: type Array; type Metod(type x); };
Алгоритм Евклида для n целых чисел C++
Задача: Составить рекурсивную функцию, реализующую алгоритм Евклида для n целых чисел. Самый главный вопрос: это вообще как? Сколько не гуглил, а алгоритма такого я не нашел. Или нужно алгоритм...
C++ Нулевой указатель на функцию
Всем привет. Ещё раз подыму предыдущую тему. Я делаю упражнение на явное связывание dll. Проблема состоит вот в чем. Я кладу библиотеку в папку с проектом. Делаю LoadLibrary и создаю указатель на...
C++ Освобождение памяти от экземпляра класса есть класс : Message есть контейнер типа : multimap<int,Message> myQueue этот контейнер формируется так Message *c_message = new Message() myQueue.insert(make_pair(any_value,*c_message)) Как... https://www.cyberforum.ru/ cpp-beginners/ thread625937.html
C++ Чтение/запись в файл https://www.cyberforum.ru/ cpp-beginners/ thread625903.html
Почему то попытка создать файл для записи или открыть какой либо файл для чтения оказывается неудачной, в чем может быть причина? string file; cout<<"Enter location file\n"; cin>>file;...
C++ Intel Compiler С++ Подскажите пожалуйста как заставить Intel Compiler С++ автоматически векторизовать. Код он разбирает, но выдает что векторизация возможна но не эфективна. Main.cpp(118): warning : PERMUTED LOOP... https://www.cyberforum.ru/ cpp-beginners/ thread625879.html
8 / 8 / 1
Регистрация: 30.06.2011
Сообщений: 250
0

Поэлементно сложить два массива

19.07.2012, 18:49. Просмотров 1825. Ответов 2
Метки (Все метки)

Всем привет, сижу делаю задание:
суть такова:
надо поэлементно сложить 2 массива, но при этом массивы вводятся в виде unsigned char
необходимо из первого введенного массива, перекинуть значения в класс Hex, где значения массива вводятся в шестнадцатеричной системе исчисления в числовой вид
необходимо из первого введенного массива, перекинуть значения в класс Money, где значения массива надо привести в числовой вид
при этом сложение полученных массивов должно быть написано с помощюь переопределения виртуальной функции
вот накидал быдлокод, помогите реализовать задачу
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
#include <iostream.h>
#include <conio.h>
 
class Array
{
        public:
    static const int limit=10;
    unsigned char massiv[limit];
    int znachenie,kol;
        public:
    Array();
    Array(int kol,int znachenie);
    ~Array(){};
 
    virtual void Summa(Array a,Array b);
    friend class Hex;
    friend class Money;
};
 
class Hex: public Array
{
    unsigned char hex[100];
    unsigned int dec;
        public:
    int CharToDec();
    int HexToDec();
    virtual int Summa(Hex a,Hex b);
    friend class Array;
    friend class Money;
};
 
class Money: public Array
{
    unsigned char money[100];
    unsigned int dec;
        public:
    int CharToDec();
    virtual int Summa(Money a,Money b);
    friend class Hex;
    friend class Array;
};
 
 
 
Array::Array(int kol,int znachenie)
{
    for (int i=0; i<((kol>limit)?limit:kol); i++)
        massiv[i]=znachenie;
}
 
Array::Array()
{
    for(int i=0;i<limit;i++)
        massiv[i]=0;
}
 
void Array::Summa(Array a,Array b)
{
    Array c;
    for (int i=0; i<((kol>limit)?limit:kol); i++)
    {
        c.massiv[i]=a.massiv[i]+b.massiv[i];
        cout<<c.massiv[i];
    }
}
//--------------------------------------------------------------------//
int Hex::HexToDec()
{
    int v;     //вес разряда шестнадцатеричного числа
    int err;   //err==1 - в строке недопустимый символ
    int i;
    err=0;
    strupr(hex); //преобразование введенной строке к верхнему регистру
    dec=0;
    v=1; //вес младшего разряда шестнадцатеричного числа
    for (i = strlen(hex)-1; i>=0; i--)
    {
        if (hex[i]>='0' && hex[i]<='9')
        dec+=v*(hex[i]-48);
        else if (hex[i]>='A' && hex[i]<='F')
            dec+=v*(hex[i]-55);
             else  //недопустимый символ
             {
                err=1;
                break;
             }
             v*=16;
    }
    if(!err)
    {
        printf("Shestnadchaterichnomu chislu %s",hex);
        printf(" sootvetstvuet desyatichnoe %u\n",dec);
    }
    else
    {
       printf("Stroka %s ne yavlyaetsya ",hex);
       printf("shestnadchaterichnum chislom\n");
    }
    return dec;
}
 
int Hex::CharToDec()
{
    dec=atoi(hex);
    return dec;
}
//-----------------------------------------------------------------//
int Hex::Summa(Hex a,Hex b)
{
    return a.HexToDec()+b.HexToDec();
}
 
int Money::CharToDec()
{
    dec=atoi(money);
    return dec;
}
 
int Money::Summa(Money a,Money b)
{
    return a.CharToDec()+b.CharToDec();
}
 
 
 
 
int main()
{
    Array array;
    Hex hex;
    Money money;
    cout<<"Vvedte kol: ";
    cin>>array.kol;
    for (int i=0; i<array.kol; i++)
    {
        cout<<"Insert #"<<i<<" of massiv ";
        cin>>array.massiv[i];
        hex.HexToDec();
    }
 
 
    getch();
    return 0;
}
заранее всем спасибо

Вернуться к обсуждению:
Поэлементно сложить два массива
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.07.2012, 18:49
Готовые ответы и решения:

Сложить поэлементно два массива
Помогите пожалуйста, в чем ошибка. Некорректно складывает, в итоге получается неправильный ответ...

Сложить два массива поэлементно
Необходимо базовый класс Array: массив и поле для хранения количества элементов массива......

Сложить поэлементно два массива I и J. Результат в массиве I
Помогите пожалуйста написать программу: Сложить поэлементно два массива I(10) и J(10). Результат в...

Найти среднее арифметическое элементов массива, сравнить два массива поэлементно
#include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;conio.h&gt; using namespace std; void main() {...

2
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.