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

как переделать?конструкторы и деструкторы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Задание с собеседования (циклы) http://www.cyberforum.ru/cpp-beginners/thread968217.html
День добрый! Был сегодня на собеседовании, и было такое задание где было такое задание: Описать одним предложением что делает данная функция int FuncName (int a) { int sum=0 while ( a != unsigned(-1)) { m = (m+1) | m;
C++ Вывести на экран все строки данного массива одну за другой в виде целой строки Дан двумерный массив , состоящий из букв. 5 строк и 7 столбцов. Вывести на экран все строки данного массива одну за другой в виде целой строки. Что-то вроде шифрования методом простой перестановки. http://www.cyberforum.ru/cpp-beginners/thread968192.html
Вывести массу данного тела в килограммах C++
Единицы массы пронумерованы следующим образом: 1 - граммы, 2 - тонна, 3 - центнер. Дан номер единицы массы и масса тела М в этих единицах (вещественное число). Вывести массу данного тела в килограммах Решение нужно в программе Turbo C++
C++ Проверит программу,места ошибок указаны,нужно разобраться
Здравствуйте,нужна помощь,спасибо #include <iostream> #include <math.h> #include <stdio.h> #include <stdlib.h> #include <stdint.h> const int M=50; int main(int argc, char* argv) {
C++ Напишите программу в С для вычисления среднего арифметического для 3 чисел http://www.cyberforum.ru/cpp-beginners/thread968161.html
Имею код, но он не работает. Что делать!? Помогите! int main() { float x,y,z,p; printf("Write down x,y,z:"); scanf("%g%g%g", &x,&y,&z); p==(x+y+z)/3; printf("Result:(%g+%g+%g)/3\n",x,y,z,p);
C++ как проверить принадлежность числа к последовательности чисел например в цикле надо проверять каждое 2^n (два в степени n) число. for (int i = 0 ; i < 1000; i++){ if (//как поставить условие отбора ){ } } подробнее

Показать сообщение отдельно
Виктор242424
0 / 0 / 0
Регистрация: 18.11.2012
Сообщений: 37
03.10.2013, 17:27     как переделать?конструкторы и деструкторы
Как переделать 1 задание во 2?
Создать класс матрица Данный класс содержит указатель на long, размер строк и столбцов и состояние ошибки. Определить конструктор без параметров, конструктор с одним параметром и конструктор с двумя параметрами, деструктор. Определить методы доступа: возвращать значение элемента (i, j) и адрес этого элемента. Определить функцию печати. Определить функции сложения и вычитания (матрицы с матрицей), умножение матрицы на матрицу. Определить умножение матрицы на число. Проверить работу этого класса. В случае нехватки памяти, несоответствия размерностей, выхода за пределы устанавливать код ошибки.

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
#include <iostream>
#include <cstdlib>
#include <locale.h>
using namespace std;    
class matrix
    {
        int isize, jsize;
        long *p;
        public:
            matrix()
                {
                    isize = 1;
                    jsize = 1;
                    p = new long[isize * jsize];
                    }
            matrix(int j)
                {
                    isize = 1;
                    jsize = j;
                    p = new long[isize * jsize];
                    }
            matrix(int i, int j)
                {
                    isize = i;
                    jsize = j;
                    p = new long[isize * jsize];
                    }
            ~matrix()
                {
                    }
            void vvod()
                {
                    setlocale(LC_ALL,"Russian");
                    int i,j;
                    for (i=0; i<isize; i++)
                        {
                            cout << "Введите строку " << (i+1) <<endl;
                            for (j=0; j<jsize; j++)
                                {
                                    cin >> p[i* jsize + j];
                                    }
                            }
                    }
            void print()
                {
                    int i,j;
                    for (i=0; i<isize; i++)
                        {
                            for (j=0; j<jsize; j++)
                                {
                                    cout << p[i* jsize + j] << " ";
                                    }
                            cout <<endl;
                            }
                    cout <<endl;
                    }
            void get(int i, int j)
                {
                    cout << "Элемент равен:"  <<endl;
                    cout << p[i* jsize + j]<<endl;
                    cout << "Адрес элемента равен:"  <<endl;
                    cout << &p[i* jsize + j];
                    }
            void sum (matrix n, matrix m)
                {
                    if (n.isize != m.isize ||  n.jsize != m.jsize)
                        {
                            cout << "Операция не определена"  <<endl;
                            exit(1);
                            }
                    int i,j;
                    isize = n.isize;
                    jsize = n.jsize;
                    for (i=0; i<isize; i++)
                        {
                            for (j=0; j<jsize; j++)
                                {
                                    p[i* jsize + j]=n.p[i* jsize + j]+m.p[i* jsize + j];
                                    }
                            }
                    }
            void mul (matrix n, matrix m)
                {
                    if (n.jsize != m.isize)
                        {
                            cout << "Операция не определена"  <<endl;
                            exit(1);
                            }
                    int i,j,k;
                    isize = n.isize;
                    jsize = m.jsize;
                    for (i=0; i<isize; i++)
                        {
                            for (j=0; j<jsize; j++)
                                {
                                    p[i* jsize + j]=0;
                                    for (k=0; k<=m.jsize ;k++)
                                        {
                                            p[i* jsize + j]=p[i* jsize + j]+n.p[i* n.jsize + k]*m.p[k* m.jsize + j];
                                            }
                                    }
                            }
                    }
            void muldigic (matrix n, long x)
            {
                int i,j;
                isize = n.isize;
                jsize = n.jsize;
                for (i=0; i<isize; i++)
                    {
                        for (j=0; j<jsize; j++)
                            {
                                p[i* jsize + j]=n.p[i* jsize + j]*x;
                                }
                        }
                }
            };
            int main()
                {
                    matrix a(2,3);
                    matrix b(3,2);
                    matrix c;
                    a.vvod();
                    b.vvod();
                    a.print();
                    b.print();
                    c.print();
                    c.mul (a,b);
                    c.print();
                    c.muldigic (a,2);
                    c.print();
                    a.get(0,0);
                    c.sum (a, b);
                    getchar();
                    return 0;
                    }
задание 2
Создать класс «матрица». Данный класс должен содержать элементы типа int, определяющие число строк, столбцов и состояние ошибки. Определить конструктор без параметров, конструктор с одним параметром, конструктор с двумя параметрами, деструктор.
Определить метод, возвращающий значение элемента матрицы и его адрес. Определить функцию печати матрицы. Определить функции поиска максимального и минимального элемента, умножения матрицы на число, транспонирования матрицы. В случае нехватки памяти и несоответствия размерностей устанавливать код ошибки и выводить его на экран.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 11:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru