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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Создать класс Point для работы с точками на плоскости http://www.cyberforum.ru/cpp-beginners/thread805868.html
Народ меня тут 11 задач мне нужно их подробно прокомментировать какая строчка что делает(пример первая задача) помогите плиз кому не сложно хотя бы по одной задачке буду очень благодарен Задача 3 Классы Создать класс Point для работы с точками на плоскости. Координаты точки – декартовы. Обязательно должны быть реализованы: • перемещение точки по оси Х; • перемещение точки по оси У;...
C++ Сортировка Народ меня тут 11 задач мне нужно их подробно прокомментировать какая строчка что делает(пример первая задача) помогите плиз кому не сложно хотя бы по одной задачке буду очень благодарен Задание 2 Сортировка 2 input: 7 7 1 2 4 5 7 5 12 4 3 7 9 1 3 11 8 2 1 5 9 6 10 0 9 6 3 0 6 1 0 6 5 11 4 7 3 http://www.cyberforum.ru/cpp-beginners/thread805862.html
Переписать данные файла input.txt в файл output.txt, отсортировать их в алфавитном порядке по фамилии методом выбора C++
Народ меня тут 11 задач мне нужно их подробно прокомментировать какая строчка что делает(пример первая задача) помогите плиз кому не сложно хотя бы по одной задачке буду очень благодарен Задание 1 Сортировка 1 В файле input.txt содержатся сведения о группе студентов в формате: номер группы; запись о каждом студенте группы содержит следующие сведения: фамилия, имя, отчество, год рождения,...
Двумерный динамический массив (Получить векторный столбец, элементы которого являются наименьшим по модулю столбцов исходной матрицы) C++
Подскажите, что делаю не так. Задание такое: Дана матрица A(n,m). Получить векторный столбец, элементы которого являются наименьшим по модулю столбцов исходной матрицы. Вот, вроде бы все написано, а ошибки (возможно глупой) найти не могу. #include "stdafx.h" #include <iostream> #include <iomanip> #include <math.h> #include <time.h> using namespace std;
C++ C++ и flash http://www.cyberforum.ru/cpp-beginners/thread805842.html
Добрый день! Есть небольшой flash файл,со скриптом. Нужно что бы С++ взаимодействовал со flash,а flash с С++. Для этого,как я понял,нужно отдельно регистрировать свой класс для UI событий и функций,которые будут отвечать за двухсторонний обмен информацией. И вот тут уже вопрос:как регистрировать это все? p.s.Способные помочь не словам,а делом могут написать в ЛС
C++ Удаление элемента в динимическом массиве Есть динамический массив, нужно удалить с него элемент, и сразу же уменьшить размерность массива на 1. Помогите это реализовать. Заранее спасибо. подробнее

Показать сообщение отдельно
Priorzivil
0 / 0 / 0
Регистрация: 11.03.2013
Сообщений: 11
11.03.2013, 18:07     Удалить каждое последующее вхождение символа если он встречался до этого
Народ меня тут 11 задач мне нужно их подробно прокомментировать какая строчка что делает(пример первая задача) помогите плиз кому не сложно хотя бы по одной задачке буду очень благодарен

Задача 4 Списки

В файле 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
89
90
91
92
93
94
95
96
97
98
99
100
101
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("input.txt");
ofstream out("output.txt");
class spisok // создаем класс spisok
{
private:
    struct elem
    {
        char inf; 
        elem *next;
        elem (char x,elem *p):inf(x), next(p){}
    };
    elem *head, *tail;
public:
    spisok():head(0),tail(0){};
    bool empty()
    {
        return head==0;
    }
    void push_head(char value)
    {
        head=new elem(value, head);
    }
    void push_tail(char value)
    {
        elem *newptr=new elem(value, 0);
        if(head==0&&tail==0)
            head=tail=newptr;
        else
        {
            tail->next=newptr;
            tail=newptr;
        }
    }
            
    void print()
    {
        if(head!=0)
        {
 
            elem *r=head;
            while(r!=NULL)
            {
                out<<r->inf<<' ';
                r=r->next;
            }
        }
        else out<<"empty spisok"<<endl;
    }
    void findRemove(char i,elem *t)
    {
        elem *r=t;
        while(r->next!=NULL)
        {
            if((r->next)->inf==i)
                remove(r);
            else r=r->next;
        }
    }
    void remove (elem *&r)
    {
        elem *t=r->next;
        r->next=r->next->next;
        delete t;
 
    }
    void removeAll()
    {
        //out<<head->inf<<endl;
        //out<<head->next->inf<<endl;
        //out<<head->next<<endl;
        //out<<head->next->next<<endl;
        for(elem *t=head; t!=NULL; t=t->next)
        {
            //out<<"*";
            findRemove(t->inf,t);
        }
    }
};
 
int main()
{
    spisok t;
    char n;
    while(in>>n)
    {
        t.push_tail(n);
    }
    out<<"Spisok:"<<endl;
    t.print();
    t.removeAll();
    out<<endl;
    out<<"Spisok s udaleniem"<<endl;
    t.print();
    in.close();
    out.close();
    system("pause");
    return 0;
}
output
Код
Spisok:
= + - ) ( + ? _ - ) 
Spisok s udaleniem
= + - ) ( ? _
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru