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

Классы, операторы, etc. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Написать программу, которая считывает текст из файла и выводит на экран только предложения, состоящие из заданного колличества слов http://www.cyberforum.ru/cpp-beginners/thread216627.html
Задание выглядит следующим образом: "Написать программу, которая считывает текст из файла и выводит на экран только предложения, состоящие из заданного колличества слов." Я вот честно даже не представляю что и как тут делать. Препод сказал, если сделаю, то автомат получу. Ребят, выручайте, очень надо
C++ Вычислить значение целого числа Приветствую. Если напишу, что нужна помощь в решении задачи - сурово вас обману. Помощь не нужна - нужно решение. Или хотя бы пояснения на русском языке - что требуется в этой задаче и как это должно выглядеть? "Нипонятно" (с). Язык - Си. Вычислить значение целого числа, десятичные цифры которого последовательно формируются датчиком случайных чисел. Первой генерируется младшая цифра.... http://www.cyberforum.ru/cpp-beginners/thread216619.html
C++ Ищу ответы на вопросы
Прошу помощи в поиске задач(или пояснений) по данным темам(вопросам): Тема 1.1. ВВЕДЕНИЕ В СТРУКТУРНОЕ ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ С/C++ 1. Структурное программирование. Происхождение и достоинства языка C/С++. Среда программирования Visual C++ 6.0 2. Структура программы на C/C++. Пример простой программы. 3. Элементы языка C/C++ (алфавит, лексемы языка, идентификатор, ключевые слова,...
для чего подключается #include <sstream>? C++
для чего подключается #include <sstream>?
C++ бинарные деревья http://www.cyberforum.ru/cpp-beginners/thread216583.html
как сделать обход дерева в обратном порядке,в узловом представлении на C++, помогите плиз
C++ Удаление точек из массива и работа со столбцами Здравствуйте! Очень нужно решение двух задачек по теме массивы, сколько искал подобного не нашел, поэтому прошу помощи здесь. Буду очень благодарен! 1. Массив точек на плоскости ,задаваемых своими кооpдинатами,состоит не более чем из 70-ти элементов. Удалить из массива все точки, лежащие на pасстоянии , меньшем R от заданной окpужности, и опpеделить ближайшую к окpужности из оставшихся точек.... подробнее

Показать сообщение отдельно
j245
0 / 0 / 0
Регистрация: 17.11.2010
Сообщений: 36

Классы, операторы, etc. - C++

22.12.2010, 11:29. Просмотров 541. Ответов 8
Метки (Все метки)

Люди, помогите, пожалуйста

Нужно добавить еще один оператор, который заключает числа массива в квадратные скобки []. Не совсем понятно как это реализовать.

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
// Переформировать квадратную матрицу размерностью N таким образом, чтобы ее столбцы располагались по возрастанию их первых элементов. 
// Значение N  программа должна запрашивать в диалоговом режиме, память под матрицу следует распределять динамически. Написать:
// 1. Заполнение двумерного массива случайными числами из диапазона –200, +200;
// 2. Вывод двумерного массива;
// 3. Сортировка столбца матрицы по возрастанию;
// 4. Преобразование матрицы.
// Добавить операторы : +, =, *, на число, когда число находится справа и слева, операторы ввода-вывода.
 
#include <iostream>
#include <stdlib.h>
#include <time.h>
#include <E:\text.h>
 
using namespace std;
 
class ukshfe
{
    int **a;
    int n;
    int q;
public:
    ukshfe(int n1=0,int q1=0);
    ukshfe(ukshfe &);
     ~ukshfe();
    void _array(int min, int max);
    void sort_array();
    ukshfe ukshfe::operator + (const ukshfe &A);
    ukshfe ukshfe::operator * (int a);
    ukshfe ukshfe::operator = (const ukshfe &A);
    friend ostream & operator <<(ostream & out, ukshfe A);
    friend istream & operator >>(istream & in, ukshfe &A);
    friend ukshfe operator * (float a, ukshfe A);
};
ukshfe::ukshfe(int n1, int q1)
{
    if (n1==0||q1==0)
    {
        cout<<T("Введите размерность матрицы ")<<endl;
     cin>>n1>>q1;
    }
n=n1;
q=q1;
a=new int *[n];
for (int i=0;i<q;i++)
a[i]=new int[q];
}
ukshfe::ukshfe(ukshfe &A)
{
    n=A.n;
q=A.q;
a=new int *[n];
    for (int i=0;i<n;i++)
        a[i]=new int[q];
    for (int i=0;i<n;i++)
        {
            for (int j=0;j<q;j++)
        a[i][j]=A.a[i][j];
        }
}
 ukshfe::~ukshfe()
{
    for (int i=n-1;i>=0;i--)
    {
        delete[] a[i];
    a[i]=0;
    }
}
void ukshfe::_array(int min, int max)
{
    for (int j=0;j<n;j++)
        {
            for (int i=0;i<q;i++)
            a[j][i]=rand()%(max)-min;
        }
}
void ukshfe::sort_array()
{
    int b;
for (int i=0;i<(q-1);i++)
    {
        for (int j=0;j<(q-1);j++)
        if (a[0][j]>a[0][j+1])
            {
                for (int k=0;k<n;k++)
                {
                    b=a[k][j];
                a[k][j]=a[k][j+1];
                a[k][j+1]=b;
                }
            }
    }
}
ukshfe ukshfe::operator + (const ukshfe &A)
{
    int n2,q2;
    n2=min(n,A.n);
    q2=min(q,A.q);
    ukshfe T(n2,q2);
    for (int i=0;i<n2;i++)
        for (int j=0;j<q2;j++)
            T.a[i][j]=a[i][j]+A.a[i][j];
    return T;
}
ukshfe ukshfe::operator * (int x)
{
    ukshfe T(n,q);
for (int i=0;i<T.n;i++)
    for (int j=0;j<T.q;j++)
        T.a[i][j]=a[i][j]*x;
return T;
}
ukshfe operator * (int x, ukshfe &A)
{
return A*x;
}
ukshfe ukshfe::operator = (const ukshfe &A)
{
for (int i=n-1;i>=0;i--)
    {
        delete[] a[i];
    a[i]=0;}
    n=A.n;
    q=A.q;
    a=new int *[n];
    for (int i=0;i<n;i++)
        a[i]=new int[q];
    for (int i=0;i<n;i++)
        for (int j=0;j<q;j++)
            a[i][j]=A.a[i][j];
    return *this;
}
 
ostream & operator << (ostream & out, ukshfe A)
{
    for (int i=0;i<A.n;i++)
    {
        for (int j=0;j<A.q;j++)
        {
            out<<A.a[i][j]<<"\t";
        }
        out<<endl;
    }
    return out;
}
istream & operator >> (istream & in, ukshfe &A)
{   
    cout<<T("Введите новую матрицу:")<<"\n";
    for (int i=0;i<A.n;i++)
        for (int j=0;j<A.q;j++)
            in>>A.a[i][j];
    return in;
}
int main(void)
{
ukshfe A(2,3),B(4,4);
srand((unsigned)time(NULL));
B._array(200,400);
cout<<B<<endl;
cin>>A;
cout<<A<<endl;
A=A+B;
cout<<A<<endl;
A=A*(-1);
cout<<T("Домножение массива на число, при нахождении его справа:\n")<<A<<endl;
A=(-1)*A;
cout<<T("Домножение массива на число, при нахождении его слева:\n")<<A<<endl;
return 0;
}
Добавлено через 21 час 8 минут
Ни у кого никаких мыслей нет? )
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru