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

Мультисет СТЛ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Составить программу для вычисления значений функции http://www.cyberforum.ru/cpp-beginners/thread849730.html
вот уравнение
C++ Масив сума сортировка Нужно отсортировать рядки масива за по возростанию сумы цифр чисел в рядку масива. http://www.cyberforum.ru/cpp-beginners/thread849705.html
метод Эйткена-Стеффенсона C++
помогите пожалуйста! 9. Создать набор функций для вычисления с точностью ε =10-5 значения корня уравнения F(x)=0 на интервале методом Эйткена-Стеффенсона. Имя конкретной функции F(x) передать вызываемой подпрограмме как параметр. Полагается, что F(a)*F(b)<0, т.е корень находится на отрезке . Указание. Метод обеспечивает решение уравнения F(x)=0 по следующему алгоритму. 1. Задаем...
Отсортировать строки по возрастанию суммы цифр чисел в строках C++
отсортировать строки по возрастанию суммы цифр чисел в строках
C++ Количество разных символов в каждом слове http://www.cyberforum.ru/cpp-beginners/thread849679.html
Определить сколько разных символов в каждом слове введенного с клавиатуры текста. Это необходимо сделать через массивы. Была идея поиска до пробела #include<iostream> using namespace std; void main() {
C++ Запись в структуру Вот такой вот вопрос - Есть структура struct scan_data{ char login; char pass; }; Нужно записать хеш пароля в структуру Вводим пароль cin.getline(Data.pass, 79); Теперь нужно переделать пароль в хеш функцией md5(), но чтото не так. подробнее

Показать сообщение отдельно
BabyGluk
26 / 26 / 4
Регистрация: 10.04.2013
Сообщений: 167
27.04.2013, 01:56     Мультисет СТЛ
Сегодня только начал разбираться с СТЛ) не все понимаю, выправите меня пожалуйста
на данный момент у меня есть два множества.
над множеством А нужно сделать 1) заменить символ - сделла, получилось, а вот.
2) удалить n символов начиная с к-той позиции..
один раз получилось сделать, но удаляло когда вводил 5 символов с 5той позиции, 2 с 2 и т.д
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
#include "stdafx.h"
#include <set>
#include <iostream>
#include <time.h>
//в структурі *p.name і тд ... 
//http://www.sgi.com/tech/stl/multiset.html
using namespace std;
 
const int N=26;
char a[N] = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'};
char b[N] = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'};
 
multiset<char> A;
multiset<char> B;
void print(multiset<char> x)
{
    multiset<char>::iterator p;
    p = x.begin();
    while (p!=x.end())
    {
        cout<<*p<<" ";
        p++;
    }
    cout<<endl;
}
 
void change(const char x)
{
    A.erase(x);
    int count = N-A.size();
    for(int i=1; i<=count; i++)
    {
        A.insert('Z');
    }
}
void clean_a(multiset<char> A,int n, int k){
    multiset<char>::iterator p;
 
    p = A.begin();
    for (int i=1;i<=k;i++) p++;
    for (int i=1;i<=n;i++) A.erase(p);
    
    while (p!=A.end())
    {
        cout<<*p<<" ";
        p++;
    }
    cout<<endl;
}
void main()
{
    srand(time(NULL));
 
    char x;
    for (int i=0; i<N; i++)
    {
        A.insert(a[rand()%N]);
    }
    for (int i=0; i<N; i++)
    {
        B.insert(b[rand()%N]);
    }
    cout << "Set A befor: ";
    print(A);
    cout<<"input char for delete:";
    cin>>x;
    change(x);
    cout << "Set A after change: ";
    print(A);
    /*cout<<endl<<"NEW SET B:";
    print(B);*/
    cout<<endl;
     int n(0),k(0);
    cout<<"Delele n elements from k position. Write K= ";cin>>k;cout<<" Write N= ";cin>>n;cout<<endl;
    if ((n>0)&&(n<N)){
        clean_a(A,n,k);
    }
    else 
        cout<<"Error"<<endl;
    system("pause");
}
Добавлено через 11 минут
досихпор сижу и не могу блин понять почему в цыкле не удаляет .. пытаюсь хотя б сделать так
C++
1
2
for (int i=0; i<3;i++)
{++p;A.erase(p);}
хотяб 3 елемента удалить, всеравно блин не удаляет, ошибка кидает
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 10:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru