Форум программистов, компьютерный форум, киберфорум
Наши страницы

Очередь. Удалить каждое последующее вхождение символа если он встречался до этого. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Закомментировать http://www.cyberforum.ru/cpp-beginners/thread805874.html
#include <iostream> using namespace std; int main() { int a,b,a1,b1,r; r=1; cout << "Pervoe chislo = "; cin >> a; cout << "Vtoroe chislo = ";
C++ Удалить каждое последующее вхождение символа если он встречался до этого Народ меня тут 11 задач мне нужно их подробно прокомментировать какая строчка что делает(пример первая задача) помогите плиз кому не сложно хотя бы по одной задачке буду очень благодарен Задача... http://www.cyberforum.ru/cpp-beginners/thread805871.html
C++ Создать класс Point для работы с точками на плоскости
Народ меня тут 11 задач мне нужно их подробно прокомментировать какая строчка что делает(пример первая задача) помогите плиз кому не сложно хотя бы по одной задачке буду очень благодарен Задача 3...
C++ Сортировка
Народ меня тут 11 задач мне нужно их подробно прокомментировать какая строчка что делает(пример первая задача) помогите плиз кому не сложно хотя бы по одной задачке буду очень благодарен Задание...
C++ Переписать данные файла input.txt в файл output.txt, отсортировать их в алфавитном порядке по фамилии методом выбора http://www.cyberforum.ru/cpp-beginners/thread805859.html
Народ меня тут 11 задач мне нужно их подробно прокомментировать какая строчка что делает(пример первая задача) помогите плиз кому не сложно хотя бы по одной задачке буду очень благодарен Задание...
C++ Двумерный динамический массив (Получить векторный столбец, элементы которого являются наименьшим по модулю столбцов исходной матрицы) Подскажите, что делаю не так. Задание такое: Дана матрица A(n,m). Получить векторный столбец, элементы которого являются наименьшим по модулю столбцов исходной матрицы. Вот, вроде бы все написано, а... подробнее

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

Очередь. Удалить каждое последующее вхождение символа если он встречался до этого. - C++

11.03.2013, 18:07. Просмотров 301. Ответов 0
Метки (Все метки)

Народ меня тут 11 задач мне нужно их подробно прокомментировать какая строчка что делает(пример первая задача) помогите плиз кому не сложно хотя бы по одной задачке буду очень благодарен

задача 6 очередь
В файле input.txt содержатся символы создать из этих символов список. Удалить каждое последующее вхождение символа если он встречался до этого.

input
Код
( ( ( крат крит
Код программы
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
#include <iostream>
#include <fstream>
using namespace std;
 
class queue
{
    struct elem
    {
        char inf;
        elem *next;
        elem (unsigned char x, elem *p):inf(x), next(p){};
    };
    elem *head, *tail;
public:
    queue(){head=0; tail=0;}
    bool empty()
    {
        return tail==0;
    }
    void insert(unsigned char value)
    {
        elem *newptr=new elem(value, 0);
        if(head==0&&tail==0)
            head=tail=newptr;
        else
        {
            tail->next=newptr;
            tail=newptr;
        }
        cout<<head->inf<<' '<<tail->inf<<endl;
    }
    char take()
    {       //if(head==0)
            //tail=0;
        elem *r=head;
        unsigned char i=r->inf;
        head=r->next;
        if(head==0)
            tail=0;
        delete r;
        return i;
    }
 
};
 
int main()
{
    queue t;
    unsigned char n;
    int a[255];
    ifstream in("input.txt");
    ofstream out("output.txt");
    for(int i=0;i<n; i++)
    {
        a[i]=0;
    }
    queue m;
    while(in>>n)
    {
        t.insert(n);
    }
    unsigned char j;
    if(t.empty()==true) out<<"net elementov v ocheredy t"<<endl;
    else
    { out<<"elemety ocheredy t"<<endl;
    while(!t.empty())
    {
        j=t.take();
        out<<j<<' ';
        if(a[j]==j)
        {
            m.insert(j);
            //a[j]=" ";
        }
    }
    }
    out<<endl;
    if(m.empty()==true) out<<"net elementov v ocheredy m";
    else
    { out<<"elementy ocheredy m"<<endl;
        while(!m.empty())
        {
            out<<m.take()<<" ";
        }
    }
    system("PAUSE");
    return 0;
}

Output:
Код
elemety ocheredy t
( ( ( к р а т к р и т 
elementy ocheredy m
( к р а т и
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru