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

Свертка повторяющихся подстрок по следующим правилам - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Класс CPoint и ей производные, нужна помощь http://www.cyberforum.ru/cpp-beginners/thread544329.html
Создать класс CPoint – точка и производные от него классы CcoloredPoint и CLine. На основе классов CcoloredPoint и CLine создать класс CcoloredLine. Все классы должны иметь методы для установки и получения значений всех координат, а также изменения цвета и получения текущего цвета. Собственно задача. Помогите пожалуйста буду очень признателен. В особенности не понимаю, как на основе двух...
C++ запись в файл Программа читает из файла текст и записывает в другой файл код(передвинутый аски код на +1) и частоту повторяемости букв. Проблема в том что в файл записывает либо функцию кодирования (coding) либо подсчета (count). Когда пытаешься записать результаты обоих функций, записывается только той, которая выполняется последней. В чем проблема? #include <stdio.h> #include <stdlib.h> #include... http://www.cyberforum.ru/cpp-beginners/thread544320.html
Время выполнения процеса C++
Подскажите пожалуйста, как правильно пользоваться функцией GetTheadTimes если есть хэндл процеса и вывести в нормальной форме время выполнения процесса
C++ Какая книга Страуструпа
Как вы думаете, что лучше купить человеку который не когда не программировал из страуструпа: Бьярне Страуструп Программирование: принципы и практика использования C++ или Бьярне Страуструп язык программирования C++ Какая из них лучше ?
C++ GDI разделение изображения на части http://www.cyberforum.ru/cpp-beginners/thread544299.html
Собственно вопрос: 1)Я загружаю изображение(imageMAIN) и мне необходимо "распилить" его на части, чтоб получилось некое подобие матрицы. |image11, image12| |image21, image22| 2)Затем выбрать, например, image22 и image11 и поменять их местами Загвоздка в 1ом пункте.
C++ производные классы Здравствуйте, помогите решить задачу, ооооооочень надо. Создать класс Triad(тройка чисел);определить метод сравнения триад. Определить производный класс Time с полями: час, минута, секунда. Определить полный набор методов сравнения дат. подробнее

Показать сообщение отдельно
MK_9
0 / 0 / 0
Регистрация: 16.11.2011
Сообщений: 11
15.04.2012, 12:49  [ТС]     Свертка повторяющихся подстрок по следующим правилам
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
#include "stdafx.h"
#include "iostream"
#include "conio.h"
using namespace std;
 
 
 void main(void)
{
    setlocale(0,"RUS");
    char h;
    cout <<"Здравствуйте"<< endl
        <<"Желаете начать работу, y/n? ";
    cin >> h;
    while (h!='n')
    {   
     int i=0, j=0;
     char *st = new char [512];
     char *st1 = new char [512];
     char *st2 = new char [512];
     cout <<"Введите строку: ";
     cin.get();
     cin.getline(st,255);
     int n=strlen(st);
 
      while (i < n)
      {
           if (st[i] == 'x' && st[i+1] == 'x' && st[i+2] == 'x' && st[i+3] == 'x')
           {
              st1[j] = '4';
              st1[j+1] = '(';
              st1[j+2] = 'x';
              st1[j+3] = ')';
              j = j+4;
              i = i+4;
           }
           if (st[i] == 'y' && st[i+1] == 'b' && st[i+2] == 'c' && st[i+3] == 'b'&& st[i+4] == 'c'&& st[i+5] == 'x') 
           {
              st1[j] = 'y';
              st1[j+1] = '2';
              st1[j+2] = '(';
              st1[j+3] = 'b';
              st1[j+4] = 'c';
              st1[j+5] = ')';
              st1[j+6] = 'x';
              j = j+7;
              i = i+7;
           }
         else
           {
              st1[j] = st[i];
              j=j+1;
              i=i+1;
           }
      }
      
          cout <<("Полученная строка:\n");
      st1[n]='\0';
          cout << st1 << endl;
      char t;
      cout <<"Применить правило дважды, y/n? ";
      cin >> t;
    while (t!='n')
    { ????
        if (st1[i] == '4' && st1[i+1] == '(' && st1[i+2] == 'x' && st1[i+3] == ')'&& st1[i+4] == 'b' && st1[i+5] == '4' && st1[i+6] == '(' && st1[i+7] == 'x' && st[i+8] == ')' && st1[i+9] == 'b') 
           {
              st2[j] = '4';
              st2[j+1] = '(';
              st2[j+2] = '4';
              st2[j+3] = '(';
              st2[j+4] = 'x';
              st2[j+5] = ')';
              st2[j+6] = 'b';
              st2[j+7] = ')';
              j = j+8;
              i = i+10;
           }
         else
           {
              st1[j] = st[i];
              j=j+1;
              i=i+1;
    }
    }
      cout << "Желаете повторить работу, y/n? ";
        cin >> h;
    }
}
Как повторно применить 4(х)b4(х)b заменяется на 4(4(х)b) ?
 
Текущее время: 06:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru