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

Контейнеры и итераторы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Почему сын может спокойно работать с полями privat отцовского класса (опять template <class T> воду мутит!) http://www.cyberforum.ru/cpp-beginners/thread314364.html
Сабж class otets { public: otets (){}; private: int znach; }; template <class T> class sinn: public otets {
C++ Очень просто Я понимаю что создавалось много тем с этой проблемой но я не нашел их Просто напишите пожалуста как можно считать количество элементов одномерного массива http://www.cyberforum.ru/cpp-beginners/thread314341.html
C++ is.getline
Подскажите пожалуйста. Есть класс для работы со строками. Вот один из перегруженных операторов для ввода стоки istream& operator>>(istream& is, String& str) { const int N = 65536; // Временный массив для многострочного ввода char temp = {0}; size_t Length = 0, //длина последней введенной строки, Total = 0; //общая длина ввода; // ввод продолжается до ввода пустой...
Строки C++
Друзья если можно не большой пример работы со строками. К примеру оератором CIN>> присваиваю число или слово (переменной). Как зделать да бы из этой переменной можно было сосчитать колл-во введенных символов?
C++ Массив С++ http://www.cyberforum.ru/cpp-beginners/thread314328.html
Надо написать программу которая инициализирует массив и считывает сколько в нём элементов Функция для считывания xcount
C++ Удаление из списка Дан список из n целых чисел a1,a2,...an. Удалить из списка все элементы, входящие в него в точности два раза. #include <iostream.h> #include <conio.h> struct list { int info; list *next,*pred; }; void MakeL(list *&head) { подробнее

Показать сообщение отдельно
xadjek
 Аватар для xadjek
36 / 36 / 4
Регистрация: 05.06.2011
Сообщений: 306
08.06.2011, 00:55  [ТС]     Контейнеры и итераторы
Возник еще один вопрос-написал код, но он не компилируется т.к. выдается куча ошибок которые я не могу понять как исправить
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
#include "stdafx.h"
#include <iostream>
#include <string.h>
#include <vector>
#include <algorithm>
#include <iterator>
using namespace std;
 
class Rasclad
{
char* S[2][6];
int N, M;
public:
Rasclad() {};
~Rasclad() {};
int Find(char* str)
{
for(int i=0;i<2;i++)
for(int j=0;j<6;j++)
{
if(!strcmp(S[i][j],str))
{return i;}
else {return -1;}
}
 
}
bool Add(char*str)
{
if(N<6)
{
strcpy(S[N][M],str);
N++;
M++;
return true;
}
else return false;
}
bool Del(char*str)
{int j;
int k=Find(str);
cout<<k<<endl;
if(k>=0)
{
for(int i=k+1;i<2;i++)
for(int j=k+1;j<6;j++)
strcpy(S[i-1][j-1],S[i][j]);
N--;
M--;
return true;
}
return false;
}
void View()
{
for(int i=0;i<2;i++)
for(int j=0;j<4;j++)
 
cout<<S[i][j]<<endl;
}
 
bool operator==(Rasclad T)
{
bool localResult = true;
bool result = true;
{for(int i=0;i<2;i++)
for(int j=0;j<6;j++)
{ char* tmp=T.getRasclad(i,j);
localResult = strcmp(tmp,S);
if(!localResult)
result = localResult;
}
}
}
bool operator>(Rasclad T)
{
if(N>T.N)
return true;
else 
{return false;}
}
char* getRasclad(int i,int j)
{
return S[i][j];
}
friend ostream &operator<<(ostream &stream, Rasclad obj)
{ for(int i=0;i<2;i++)
for(int j=0;j<6;j++)
{stream<<obj[i][j];}
}
};
 
int main()
{
vector<Rasclad>cont;//создание вектора нулевой длинны
vector<Rasclad>cont2;
unsigned int i,j;
cout<<"Container size"<<cont.size()<<endl;
vector<Rasclad>::iterator p=cont.begin();
for(i=0;i<2;i++)
{for(j=0;j<cont.size();j++)
{
Rasclad* tmp = new Rasclad();   
    cont.insert(p,tmp);
}
}
 
cont2.insert(cont.begin(),cont.end());
for(i=0;i<cont.size();i++)
{for(j=0;j<cont.size();j++);//отобрaжаем содержимое множества
cout<<cont[i][j]<<endl;
}
for(int i=0;i<cont.size();i++)
for(j=0;j<cont.size();j++)
cont[i][j]=cont[i][j]+cont2[i][j];//изменяем содержимое множества
cout<<"content doubled:\n"<<endl;
cout<<cont[i][j]<<endl;
 
char*s[2][6];
vector<Rasclad>::iterator p;
p= cont.begin();
while(p!=cont.end())
{
cout<<*p;
p++;
}
 
char*S[2][6];
vector<Rasclad>::iterator p=cont.begin();
p+=2;//указатель на 3-й элемент
cont.insert(p,4,S[1][3]);//вставляем 10 символов
cout<<"size of the vector after insert="<<cont.size()<<endl;
cout<<"content of the vector after insert:\n";
for(int i=0;i<cont.size();i++)
{for(int j=0;j<cont.size();j++)
{cout<<cont[i][j];}
}
p= cont.begin();
p+=2;
cont.erase(p,p+5);//удаление 5 элементов подряд
cout<<"size of the vector after insert"<<cont.size()<<endl;
т.е. то и есть та программа из шапки, но уже которую я начал писать потихоньку но пока неудачно(
 
Текущее время: 20:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru