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

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

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

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

09.11.2012, 22:13. Просмотров 735. Ответов 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;
}
скажите пожалуйста что не так с кодом, пишет ошибка выполнения
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2012, 22:13
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Однострочный редактор (C++):

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

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

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

Графический редактор - C++
Ребя подскажите пожалуйста,какая модель Жизненного цикла наиболее подходит для Графического редактора Paint,и почему?(Paint на с++,курсовая...

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

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

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.11.2012, 22:13
Привет! Вот еще темы с ответами:

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

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

Синтаксический редактор - C++
Здравствуйте пишу с просьбой помочь в реализации программки на С или С++ быть может кто либо уже делал подобное вобщем нужно...

Визуальный редактор - C++
Я пользуюсь Microsoft Visual C++ 2008 Express Edition и я знаю что там есть визуальный редактор, как к какому нибудь элементу подключить...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

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