Форум программистов, компьютерный форум CyberForum.ru

класс LongLong - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Для десяти выстрелов вывести текстовые сообщения о попадании в мишень http://www.cyberforum.ru/cpp-beginners/thread652821.html
Здравствуйте! Прошу помощи по лабораторной по C++. Несколько дней прошли впустую, чувствую себя полным профаном. Вот сама задача: Вариант 12. Для десяти выстрелов, координаты которых задаются с клавиатуры, вывести текстовые сообщения о попадании в мишень - область, закрашенную на рисунке черным цветом. Благодарю заранее за помощь!
C++ Установить, принадлежит ли точка с заданными координатами заштрихованной области Нужно установить принадлежит ли точка с координатами (x,y) заштрихованным фигурам внизу http://savepic.net/3442825m.jpg http://www.cyberforum.ru/cpp-beginners/thread652813.html
Вектор строк и массив указателей на тип char C++
Помогите, пожалуйста, с одной задачей. Сижу голову ломаю. Никак не могу понять почему эта ошибка выскакивает. Напишите программу, читающую строки в вектор. Скопируйте этот вектор в массив указателей на тип char. Сама ошибка появляется в 34 строке где хочу скопировать вектор vector<string> в массив char *. #include <iostream> #include <windows.h> #include <string> #include <vector>...
Умножение элементов матрицы C++
Произведение элементов в тех строках, которые не содержат отрицательных элементов Не получается. //---------------------------------------------------------------------------------------------------------//------------------------------------- // _36_.cpp : Defines the entry point for the console application. // #include "stdafx.h"
C++ Вывод вектора типа vector<string> http://www.cyberforum.ru/cpp-beginners/thread652776.html
Имеется следующий код, который разделяет строку на отдельные слова и помещает их в вектор, возникла проблема с выводом вектора, подскажите пожалуйста в чем проблема, что делаю не так. #include <iostream> #include <string> #include <algorithm> #include <vector> using std::cout; using std::vector; using std::cin; using std::string;
C++ Ввод из файла Помогите написать код программы которая проверяет правильно ли указано имя файла и производится ввод из файла. подробнее

Показать сообщение отдельно
BREAK350
1 / 1 / 0
Регистрация: 08.07.2012
Сообщений: 23
16.09.2012, 16:53     класс LongLong
Оригинал
Створити клас LongLong для роботи з цілими числами з 64 біт. Число повинно бути представлене двома полями: long – старша частина, unsigned long – молодша частина. Повинні бути реалізовані арифметичні операції, які присутні в C++ (без присвоювання), та порівняння. Как сделать умножения? кое что я уже сделал:

Создать класс LongLong для работы с целыми числами 64 бит. Число должно быть представлено двумя полями: long - старшая часть, unsigned long - младшая часть. Должны быть реализованы арифметические операции, которые присутствуют в C++ (без присваивания), и сравнения. Как сделать умножение? кое что я уже сделал:

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
//---------------------------------------------------------------------------
#pragma hdrstop
#pragma argsused
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#define LONG_MAX 0xffffffffffffffff
#define MSI 0xffff
#define MI 0xffffffff
#define nBit 8
//---------------------------------------------------------------------------
class LongLong
{
    private:
        long s;
        unsigned long m;
        LongLong Create(unsigned char,unsigned char);
    public:
        void Init(signed char,unsigned char);
        int ToInt();
        void Show();
        LongLong operator + (LongLong);
        template <class t> LongLong operator + (t);
        LongLong operator - (LongLong);
        template <class t> LongLong operator - (t);
        LongLong operator * (LongLong);
        template <class t> LongLong operator * (t);
};
//---------------------------------------------------------------------------
void LongLong::Show()
{
    printf("(%d;%d) = %d\n",s,m,ToInt());
}
//---------------------------------------------------------------------------
int LongLong::ToInt()
{
    return ((s<<nBit)+m);
}
//---------------------------------------------------------------------------
void LongLong::Init(long _s,unsigned long _m)
{
    s=_s;
    m=_m;
    if(s<0)
    {
        m=-m;
        s--;
    }
}
//---------------------------------------------------------------------------
LongLong LongLong::operator + (LongLong _L)
{
    LongLong L;
    L.s=s+_L.s;
    L.m=m+_L.m;
    if( L.m<=m || L.m<=_L.m )
    {
        L.s++;
    }
    return L;
}
//---------------------------------------------------------------------------
template <class t> LongLong LongLong::operator + (t p)
{
    LongLong L;
    L.s=s;
    L.m=m+p;
    if( L.m<m || L.m<p )
    {
        L.s++;
    }
    return L;
}
//---------------------------------------------------------------------------
LongLong LongLong::operator - (LongLong _L)
{
    LongLong L;
    L.s=s-_L.s;
    L.m=m-_L.m;
    if( m<L.m )
    {
        L.s--;
    }
    return L;
}
//---------------------------------------------------------------------------
template <class t> LongLong LongLong::operator - (t p)
{
    LongLong L;
    L.s=s;
    L.m=m-p;
    if( m<L.m )
    {
        L.s--;
    }
    return L;
}
//---------------------------------------------------------------------------
LongLong LongLong::Create(unsigned long a,unsigned long b)
{
    LongLong L;
    L.m=a*b;
   /* if ( a * b >= (1<<8) )
    {
        us toRet = (a*b) / (1<<8);
        c = a*b - toRet * (1<<8);
        return toRet;
    }
    else
    {
        c = a * b;
        return 0;
    }*/
}
//---------------------------------------------------------------------------
LongLong LongLong::operator * (LongLong _L)
{
 
}
//---------------------------------------------------------------------------
template <class t> LongLong operator * (t p)
{
 
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
int main(int argc, char* argv[])
{
    return 0;
}
//---------------------------------------------------------------------------
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 22:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru