С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
61 / 23 / 8
Регистрация: 27.07.2010
Сообщений: 496
1

Программа которая увеличивает цифры в файле на единицу

24.05.2015, 18:59. Показов 1313. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Приветствую уважаемые форумчане.


Добавляю в файл города России

nc_a[63]=[['695','Курган'],['696','Далматово'],['697','Катайск'],['698','Куртамыш'],['699','Макушино'],['700','Петухово'],['701','Шадринск'],['702','Шумиха'],['703','Щучье']];
Иногда бывает по не внимательности пропуская ячейку для названия города

nc_a[63]=[['695','Курган'],['696',''],['697','Катайск'],['698',''],['699','Макушино'],['700','Петухово'],['701','Шадринск'],['702',''],['703','Щучье']];
А когда уже много сделаю, то исправлять приходится очень долго и много.

Есть ли какой нибудь парсер который бы в файле увеличивал все имеющиеся цифры на одно число больше. Например: 698 менял на 699. И на оборот, снижал бы, например 698 на 697 ?.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.05.2015, 18:59
Ответы с готовыми решениями:

Разработать функцию, которая уменьшает в N раз число, кратное N, а остальные увеличивает на единицу
Задача: Разработать функцию f(x), которая число, кратное 5, уменьшает в 5 раз, а остальные числа...

Написать функцию, которая принимает в качестве аргумента целое число по ссылке, и увеличивает его на единицу
Dev C++

Резидентная программа, которая при нажатии определенных клавиш уменьшает/увеличивает курсор
Здраствуйте! У меня возникла проблема с реализацией резидентной программы , которая при нажатии...

Предикат, который увеличивает элементы исходного списка на единицу
Добрый вечер! С прологом работаю второй день, помогите разобраться! Не пойму что в класс объявить!...

8
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
24.05.2015, 19:36 2
regex попробуй.
0
61 / 23 / 8
Регистрация: 27.07.2010
Сообщений: 496
24.05.2015, 19:55  [ТС] 3
Цитата Сообщение от nmcf Посмотреть сообщение
regex попробуй
Ещё бы знать как ей пользоваться.

Добавлено через 12 минут
Есть какие нибудь у кого другие идеи?
0
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
24.05.2015, 20:02 4
Другие идеи будут намного сложнее.
0
61 / 23 / 8
Регистрация: 27.07.2010
Сообщений: 496
24.05.2015, 20:19  [ТС] 5
Цитата Сообщение от nmcf Посмотреть сообщение
Другие идеи будут намного сложнее.
Вам не кажется что в реалие проще заново всю работу сделать чем для новичка сидеть и месяц изучать это программу на английском языке?

Есть другие идеи на много проще.

Добавлено через 2 минуты
Ну а если вы уж говорите что эта программа так просто для вас, так покажите.
0
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
24.05.2015, 20:46 6
Лучший ответ Сообщение было отмечено Favorskij как решение

Решение

Увеличивает все числа, заключённые в апострофы, на единицу. s - исходный текст, rs - скорректированный.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
    std::regex r("'(\\d+)'");
    std::smatch m;
    std::string s = "nc_a[63]=[['695','Курган'],['696','Далматово'],['697','Катайск'],['698','Куртамыш'],['699','Макушино'],['700','Петухово'],";
    std::string rs;
 
    unsigned n;
    size_t p, l;
    while (std::regex_search(s, m, r))
    {
        p = m.position(1);
        l = m[1].length();
        std::istringstream iss(m[1]);
        iss >> n;
        ++n;
        rs += s.substr(0, p) + std::to_string(n) + "'";
 
        s = m.suffix().str();
    }
    rs += s;
 
    std::cout << rs << std::endl;
1
61 / 23 / 8
Регистрация: 27.07.2010
Сообщений: 496
25.05.2015, 09:51  [ТС] 7
Спасибо большое. Это надо через эту программу?

Добавлено через 3 минуты
А как что бы уменьшил?

Добавлено через 24 минуты
Да ладно. Ни чего не надо делать. Спасибо вам. Всеровно не понимаю как этим воспользоваться.
0
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
25.05.2015, 10:17 8
В 14-й строке декремент сделать, тогда будет уменьшать.
Ну как воспользоваться, добавить чтение из файла в s, а затем запись из rs обратно в файл.
1
61 / 23 / 8
Регистрация: 27.07.2010
Сообщений: 496
25.05.2015, 17:00  [ТС] 9
Вы не могли бы пожалуйста вот это уменьшить на одно число меньше.


Кликните здесь для просмотра всего текста
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
nc_a[78]=[['934','Балашиха'],['935','Волоколамск'],['936','Воскресенск'],['937','Дмитров'],['938','Домодедово'],['939','Егорьевск'],['940','Зарайск'],['941','Истра'],['942','Кашира'],['943','Клин'],['944','Коломна'],['945','Красногорск'],['946','Видное'],['947','Луховицы'],['948','Люберцы'],['949','Можайск'],['950','Мытищи'],['951','Наро-Фоминск'],['952','Ногинск'],['953','Одинцово'],['954','Озеры'],['955','Орехово-Зуево'],['956','Павловский Посад'],['957','Подольск'],['958','Пушкино'],['959','Раменское'],['960','Руза'],['961','Сергиев Посад'],['962','Серебряные Пруды'],['963','Серпухов'],['964','Солнечногорск'],['965','Ступино'],['966','Талдом'],['967','Химки'],['968','Чехов'],['969','Шатура'],['970','Щелково']];
 
nc_a[79]=[['971','Орел'],['972','Болхов'],['973','Дмитровск'],['974','Ливны'],['975','Малоархангельск'],['976','Мценск'],['977','Новосиль']];
 
nc_a[80]=[['978','Рязань'],['979','Касимов'],['980','Кораблино'],['981','Михайлов'],['982','Новомичуринск'],['983','Рыбное'],['984','Михайлов'],['985','Новомичуринск'],['986','Рыбное'],['987','Ряжск'],['988','Сасово'],['989','Скопин'],['990','Спас-Клепики'],['991','Спасск-Рязанский'],['992','Шацк']];
 
nc_a[81]=[['993','Смоленск'],['994','Велиж'],['995','Вязьма'],['996','Гагарин'],['997','Демидов'],['998','Десногорск'],['999','Дорогобуж'],['1000','Духовщина'],['1001','Ельня'],['1002','Починок'],['1003','Рославль'],['1004','Рудня'],['1005','Сафоново'],['1006','Сычевка'],['1007','Ярцево']];
 
nc_a[82]=[['1008','Тамбов'],['1009','Жердевка'],['1010','Кирсанов'],['1011','Котовск'],['1012','Мичуринск'],['1013','Моршанск'],['1014','Рассказово'],['1015','Уварово']];
 
nc_a[83]=[['1016','Андреаполь'],['1017','Бежецк'],['1018','Белый'],['1019','Бологое'],['1020','Весьегонск'],['1021','Вышний Волочек'],['1022','Западная Двина'],['1023','Зубцов'],['1024','Калязин'],['1025','Кашин'],['1026','Кимры'],['1027','Конаково'],['1028','Красный Холм'],['1029','Кувшиново'],['1030','Лихославль'],['1031','Нелидово'],['1032','Осташков'],['1033','Ржев'],['1034','Старица'],['1035','Тверь'],['1036','Торжок'],['1037','Торопец'],['1038','Удомля']];
 
nc_a[84]=[['1039','Тула'],['1040','Алексин'],['1041','Белев'],['1042','Богородицк'],['1043','Болохово'],['1044','Венев'],['1045','Донской'],['1046','Ефремов'],['1047','Кимовск'],['1048','Киреевск'],['1049','Липки'],['1050','Новомосковск'],['1051','Плавск'],['1052','Советск'],['1053','Сокольники'],['1054','Суворов'],['1055','Узловая'],['1056','Чекалин'],['1057','Щекино'],['1058','Ясногорск']];
 
nc_a[85]=[['1059','Гаврилов Ям'],['1060','Данилов'],['1061','Любим'],['1062','Мышкин'],['1063','Переславль-Залесский'],['1064','Пошехонье'],['1065','Ростов'],['1066','Рыбинск'],['1067','Тутаев'],['1068','Углич'],['1069','Ярославль']];
 
nc_a[86]=[['1070','Майкоп'],['1071','Адыгейск']];
 
nc_a[87]=[['1072','Астрахань'],['1073','Ахтубинск'],['1074','Камызяк'],['1075','Нариманов'],['1076','Харабали']];
 
nc_a[88]=[['1077','Волгоград'],['1078','Волжский'],['1079','Дубовка'],['1080','Жирновск'],['1081','Калач-на-Дону'],['1082','Камышин'],['1083','Котельниково'],['1084','Котово'],['1085','Краснослободск'],['1086','Ленинск'],['1087','Михайловка'],['1088','Николаевск'],['1089','Новоаннинский'],['1090','Палласовка'],['1091','Петров Вал'],['1092','Серафимович'],['1093','Суровикино'],['1094','Урюпинск'],['1095','Фролово']];


Добавлено через 56 минут
Тема закрыта. Спасибо.
0
25.05.2015, 17:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.05.2015, 17:00
Помогаю со студенческими работами здесь

Предикат, который увеличивает на единицу все элементы числового списка
Определить на языке ПРОЛОГ следующие рекурсивные предикаты: b) предикат, который увеличивает на...

Функция, которая увеличивает на Т секунд время
Описать процедуру IncTime (H, M, S, T), которая увеличивает на Т секунд время, заданное в часах Н,...

Программа, которая удаляет первые 2 цифры или слова
Вот есть код , который удаляет пробелы , если они есть в начале... Мне нужно это переделать так ...

Почему DUMP TRANSACTION WITH TRUNCATE_ONLY не увеличивает место в лог-файле
Почему DUMP TRANSACTION &lt;BD&gt; WITH TRUNCATE_ONLY не полностью освобождает лог-файл?


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru