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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Errantem
0 / 0 / 0
Регистрация: 27.09.2012
Сообщений: 13
#1

Однострочный редактор - C++

09.11.2012, 22:13. Просмотров 721. Ответов 0
Метки нет (Все метки)

Текстовый редактор OLE (One-Line Editor) работает с текстом, состоящим ровно из одной строки строчных латинских букв. Редактор поддерживает следующие команды, длиной в один символ каждая:


L -- переместить курсор на 1 символ влево


R -- переместить курсор на 1 символ вправо


X -- удалить символ справа от позиции курсора


строчная латинская буква -- вставить справа от текущей позиции курсора указанную букву, переместить курсор на один символ вправо

Команды, пытающиеся переместить курсор за пределы строки или удалить символ справа от последнего символа строки, игнорируются редактором.

Требуется по данному начальному состоянию строки, начальной позиции курсора и последовательности команд определить результат работы редактора.

Длина исходной строки находится в диапазоне от 1 до 1000000 символов. Длина строки команд находится в диапазоне от 1 до 100000 символов.

0 <= p <= длина исходной строки.
Исходные данные

Входной файл состоит из 3 строк. В первой строке содержится позиция курсора p, (0 - курсор перед первым символом, 1 - после первого перед вторым, и т.д.) во второй строке - начальное состояние строки редактора, в третьей - последовательность команд.
Результат

Выходной файл должен содержать строку, полученную в результате выполнения команд.

Добавлено через 52 минуты
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
#include <iostream>
#include <list>
#include <vector>
#include <string>
int main ()
{ 
 
 std::list<char> text;
 
 std::list<char>::iterator it;
 
 std::vector<char> mes (1000001);
 
 unsigned int loc_cur=0;
 
 std::cin>>loc_cur;
 
 std::cin.get();
 
 std::cin.getline (&mes[0],1000001);
 
 for (unsigned int i=0;mes[i];i++)
 {
 text.push_back (mes[i]);
 }
 
 mes.clear ();
 
 std::vector<char> cmd (100001);
 
 std::cin.getline (&cmd[0],100001);
 
 
 if (!(loc_cur<=text.size()))
 {
 loc_cur=0;
 }
 
 it=text.begin ();
 
 for (unsigned  int y=0;y<loc_cur;y++)
 {
 it++;
 }
 
 
 
 
 for (int i=0;cmd[i];i++)
 {
  
 if (text.empty ())      
 {
 it=text.begin();     
 }
 
 
 
 if (cmd[i]=='a')
 {
 text.insert (it,cmd[++i]); 
 
 }
 
 
 else if  (cmd[i]=='L')
 { 
 if (it!=text.begin())
 {
 it--; 
 }
 }
 
 else if (cmd[i]== 'R')
 {
 if (it!=text.end())
 {
 it++; 
 }
 }
 
 else if (cmd[i]== 'X')
 { 
 if (it!=text.end ())
 {
 it=text.erase (it);  
 }
 }
 
 else
 {
 text.insert (it,cmd[i]); 
 }
 
 }
 
 while (text.size ()>0)
 {
 std::cout << text.front();
 
 text.pop_front ();
 }
 
 
 return 0;
}
скажите пожалуйста что не так с кодом, пишет ошибка выполнения
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2012, 22:13     Однострочный редактор
Посмотрите здесь:

Однострочный пакетный редактор на си - C++
Алгоритм «Однострочный пакетный редактор» 1. Прочитать (ввести) редактируемую строку. 2. Повторять пока не закончится пакет команд...

Однострочный калькулятор - C++
Вроде бы элементарная программа,но появилось затруднение Программа на Си. Обычный калькулятор(+ - / *). Необходимо следующее: ...

Редактор - C++
Помогите, пожалуйста, решить задачу на структуры данных. Вроде легкая, но у меня 16 тест не проходит, где то зацикливается походу. ...

редактор текста - C++
нужно для работы,знаю, что такой код 100% есть программа обрабатывает огромный построчный текст .txt , вводятся слова (2 или более) и...

UML редактор - C++
Как говорит знакомый из соседнего цеха - Всем Здрасти! В продолжении следует мягкое рукопожатие, но это уже не важно.. У меня скорее...

Графический редактор - C++
Здравствуйте:) Разрабатываю программу графического редактора в Visual C++. Надо реализовать рисование геометрических...

Визуальный редактор С++ - C++
Недавно знакомый попросил помочь с Excel, совершенно случайно залез в редактор VBA радости не было границ не надо знание WIN API чтоб...

Hex редактор - C++
Извините, что кинул тему не туда. Не нашел подходящего раздела. (надеюсь, тема будет перемещена модераторами). Вопрос такой... Кто...

Visual C++, редактор. - C++
Подскажите пожалуйста, что не так? обычно, когда запускаю Visual C++, все нормально, в окне редактора есть самая главная строка: int...

Редактор для C++ - C++
Я начинающий программис на С++. Помогите пожалуста подобрать удобный редактор с компилятором в одном.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru