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

Class Marix - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ работа с классами http://www.cyberforum.ru/cpp-beginners/thread445547.html
Пишу класс в котором должно быть реализовано следующее: в private заносится число в 16й сс , которое затем должно оттуда извлекаться и преобразовываться в 2ю и 10ю сс. Помогите пжста организовать проверку , то что число в 16й сс и прикрутить функции выполняющие сами преобразования вот основной код : #include <cstdlib> #include <iostream> #include <string.h> using namespace std; class...
C++ MPI в Visual Studio 2010 Привет! Для паралельного программирования использую MPI. Мне нужно работать в Visual Studio 2010. Сделал все настройки как описано в MSDN http://msdn.microsoft.com/ru-ru/library/ee441265.aspx#BKMK_debug1 но увы когда вставил нужный код мне студия ругается, что ей не удается открыть файл #include "mpi.h". И от этой ошибки она не понимает пространство имен MPI. В чем может быть проблема? http://www.cyberforum.ru/cpp-beginners/thread445544.html
C++ CreateProcess
У меня несколько вопросов по CreateProcess 1) как с помощью CreateProcess перенаправить ввод/вывод программы? 2) как узнать какой код возврата у программы которая вызвана с помощью CreateProcess? 3) как узнать работает ли еще программа вьванная с помощью CreateProcess? 4) и как убить процесс созданный с помощью CreateProcess?
C++ Деревья. Как лучше реализовать функцию выведения при наследовании?
Итак, есть задание создать красно-черное дерево. По сути оно является улучшением бинарного(двоичного) дерева поиска. Исходя из того, что красно-черное дерево реализует все те же методы, что и бинарное дерево поиска, а реализация бинарного дерева поиска у меня уже есть, решил попробовать сделать грамотную иерархию классов. Да и вообще хочется сделать все красиво =) Потом нужно будет реализовать...
C++ Преобразование числа в денежный формат (Си++) http://www.cyberforum.ru/cpp-beginners/thread445478.html
Только начал изучать язык Си++ и пока что не очень понимаю его. Помогите разобраться. Заранее благодарен. Написать программу, которая преобразует введенное с клавиатуры дробное число в денежный формат. Например, число 12,5 должно быть преобразовано к виду 12 руб. 50 коп
C++ Ошибка: Функция уже имеет текст реализации. Вылезает данная ошибка error C2084: функция "double hypot(double,double)" уже имеет текст реализации. Это мой вариант программы, пробовал скопировать текст c учебника - не помогло. Что делать? #include <iostream> #include <cmath> #include <locale> #include <conio.h> using namespace std; double hypot (double a, double b); подробнее

Показать сообщение отдельно
Вася1q
 Аватар для Вася1q
21 / 21 / 0
Регистрация: 13.09.2011
Сообщений: 311
14.02.2012, 19:12  [ТС]     Class Marix
Т.к. я все же не смог научиться работать с перегрузками (к моему всеобщему стыду), я продолжал гуглить... и нашел вот такую программку. Она почти полностью совпадает с моей. Но там нет описание что куда вводить и самих пояснений к программе. Жалко конечно, что со своим кодом ничего не смог сделать. В общем поясните пожалуйста код:
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
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
#include <iostream>
#include <conio.h>
class matrix
{
public:
    matrix ();
    matrix (int,int);
    matrix (const matrix &);
    ~matrix();
 
private:
    void matrix_destroy();              // очистить память
    void matrix_create(int, int);       // выделить память
    void matrix_copy(const matrix &);   // копирование матрицы
 
protected:
    int m,n;
    float **arr;
 
public:
    void input();
    void output();
 
public:
    matrix operator*(int k);
    matrix operator+(int k);
    matrix operator-(int k);
 
    friend matrix operator *(const matrix &a, const matrix &b)
    {
        if (a.n == b.n && a.m == b.m)
        {
            int i,j;
            matrix temp(a.m,a.n);
            for(i=0;i<a.m;i++)
                for(j=0;j<a.n;j++)
                {temp.arr[i][j]=a.arr[i][j]*b.arr[i][j];}
                return temp;
        }
        else
            return a;
    }
 
    friend matrix operator +(const matrix &a, const matrix &b)
    {
        if (a.n == b.n && a.m == b.m)
        {
            int i,j;
            matrix temp(a.m,a.n);
            for(i=0;i<a.m;i++)
                for(j=0;j<a.n;j++)
                {temp.arr[i][j]=a.arr[i][j]+b.arr[i][j];}
                return temp;
        }
        else
            return a;
    }
 
    friend matrix operator -(const matrix &a, const matrix &b)
    {
        if (a.n == b.n && a.m == b.m)
        {
            int i,j;
            matrix temp(a.m,a.n);
            for(i=0;i<a.m;i++)
                for(j=0;j<a.n;j++)
                {temp.arr[i][j]=a.arr[i][j]-b.arr[i][j];}
                return temp;
        }
        else
            return a;
    }
 
    matrix operator =(const matrix &b); 
 
};
 
matrix::matrix()
{
    arr=0;
    m=0;
    n=0;
}
 
matrix::matrix(int line,int column)
{
    matrix_create(line, column);
}
 
matrix::matrix(const matrix &b)
{
    arr=0;
    m=0;
    n=0;
    matrix_copy(b);
}
 
matrix::~matrix()
{
    matrix_destroy();
}
 
void matrix::matrix_destroy()
{
    if (arr)
    {
        for(int i=0; i<m; i++)
        {
            if (arr[i])
                free(arr[i]);
        }
        free(arr);
    }
    arr=0;
    m=0;
    n=0;
}
 
void matrix::matrix_create(int line,int column)
{
    m=line; n=column;
    arr=(float**)malloc(m*sizeof(float*));
    for(int i=0; i<m; i++)
        arr[i]=(float*)malloc(n*sizeof(float));
}
 
void matrix::matrix_copy(const matrix&b)
{
    matrix_destroy();
    matrix_create(b.m, b.n);
 
    // копирование
    for (int i=0;i<m;i++)
        for (int j=0;j<n;j++)
            arr[i][j]=b.arr[i][j];
}
//Ввод матрицы
void matrix::input()
{
    int i,j;
    for (i=0;i<m;i++)
        for (j=0;j<n;j++)
            std::cin >> arr[i][j];
}
//Вывод матрицы
void matrix::output()
{
    int i,j;
    for (i=0;i<m;i++)
        for (j=0;j<n;j++)
            printf("%5.2f",arr[i][j]); //помогите переписать эти строчки на си++
    printf("\n");
}
 
matrix matrix::operator+(int k)
{
    int i,j;
    matrix temp(m,n);
    for(i=0;i<m;i++)
        for(j=0;j<n;j++)
            {temp.arr[i][j]=arr[i][j]+k;}
    return temp;
}
 
matrix matrix::operator-(int k)
{
    int i,j;
    matrix temp(m,n);
    for(i=0;i<m;i++)
        for(j=0;j<n;j++)
            {temp.arr[i][j]=arr[i][j]-k;}
    return temp;
}
 
matrix matrix::operator*(int k)
{
    int i,j;
    matrix temp(m,n);
    for(i=0;i<m;i++)
        for(j=0;j<n;j++)
            {temp.arr[i][j]=arr[i][j]*k;}
    return temp;
}
 
matrix matrix::operator =(const matrix &b)
{
    matrix_copy(b);
    return *this;
}
 
int main()
{
    matrix a(1, 2),b(1, 2),c;
    a.input();
    b.input();
    c=a+b;
    c.output();
    system("pause");
    return (0); 
}
 
Текущее время: 18:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru