Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
pavlysha_
1 / 1 / 1
Регистрация: 14.10.2015
Сообщений: 14
#1

Напишите программу, которая будет быстро и правильно производить конвертацию пароля - Pascal ABC

14.10.2015, 13:20. Просмотров 504. Ответов 14
Метки нет (Все метки)

4. Ох уж эти ученые...

Имя входного файла input.txt
Имя выходного файла output.txt
Максимальное время работы на одном тесте 2 секунды
Ограничение по памяти 64 МБ
"...Британские ученые выяснили, что чаще всего взламывают пароли, содержащие группы одинаковых подряд идущих символов, пробелы и звездочки, и гораздо реже пароли, содержащие многоточия..."
Услышав эту новость, Вася крепко задумался: почти все его пароли попадают в группу риска!!! Для того чтобы исправить ситуацию, он решил конвертировать все свои пароли по следующему правилу: от группы одинаковых символов оставить один, два и более пробелов заменить на знак подчёркивания, а две и более звездочки — на многоточие. Напишите программу, которая будет быстро и правильно производить конвертацию пароля.
Формат входных данных:
Задан пароль — непустая строка длиной до 100 000 символов, которая может состоять из строчных букв латинского алфавита, пробелов и символов '*'.
Формат выходных данных:
Выведите пароль, полученный после конвертации.
Пример
input.txt output.txt
abcd abcd
aaabbc** abc...

Добавлено через 39 секунд
Буду очень благодарен
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.10.2015, 13:20
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Напишите программу, которая будет быстро и правильно производить конвертацию пароля (Pascal ABC):

Напишите программу, которая будет быстро и правильно производить конвертацию пароля
.Британские ученые выяснили, что чаще всего взламывают пароли, содержащие...

Напишите программу, которая по паролю будет определять
Не могли бы вы помочь с решением? Заранее спасибо!!! 1. Напишите программу,...

Напишите программу, которая будет выводить в файл типа B номера школ и средний балл
Решение задачи должно содержать подпрограммы формирования исходного файла и...

Напишите эффективную, в том числе по используемой памяти, программу, которая будет проверять правильность контрольного значения
Нужно ваша помощь. Хотябы объясните что в этой задачи от меня хотят, я не очень...

Напишите программу, которая по данной ситуации определяет, сколько шариков будет сейчас "уничтожено"
Всем доброго времени суток! В одной компьютерной игре игрок выставляет в...

Запрос пароля до тех пор, пока он не будет правильно введен
Составить программу на паскале, которая запрашивает пароль (например,...

14
агерон
313 / 279 / 57
Регистрация: 12.10.2009
Сообщений: 1,086
14.10.2015, 13:30 #2
и ты таки думаешь что тебе так и ринуться решать явно олимпиадную задачу? а самому попробывать не не судьба? запомни 2 правила студент
1) ты должен предоставить на форум хоть какое-то связное решение
2) это решение должно на 80% покрывать задачу
только при выполнении этих 2 условий кто-то может тебе помочь.... а может и не помочь....
и запомни главное правило никто не будет за тебя просто так делать твою работу для того чтобы взялись за твою задачу эта задача должна быть интересной, а не тупо скопированной задачей из учебника для 1-2 курса
0
Maricha
0 / 0 / 0
Регистрация: 18.10.2010
Сообщений: 34
14.10.2015, 13:59 #3
Помогите, пожалуйста, решить, мне тоже очень нужна эта задача
0
APALoff
14.10.2015, 14:23
  #4

Не по теме:

Цитата Сообщение от агерон Посмотреть сообщение
только при выполнении этих 2 условий кто-то может тебе помочь.... а может и не помочь....
Этого нигде в правилах форума жёстко не прописано - всё держится на энтузиазме.

0
pavlysha_
1 / 1 / 1
Регистрация: 14.10.2015
Сообщений: 14
14.10.2015, 14:42  [ТС] #5
агерон, Хорошо, если введу некоторое решение этой задачи. вы хоть формулу подскажите? Или самому придется????
0
APALoff
1638 / 1067 / 1080
Регистрация: 03.07.2013
Сообщений: 4,507
14.10.2015, 14:42 #6
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Function ConvertPass(S : String) : String;
Var
  k  : Integer;
  ss : String;
Begin
  If Length(S)>1 then
    If S[1]=S[2] then
    Begin
      k:=3;
      While (k<=Length(S)) and (S[k]=S[1]) do Inc(k);
      Case S[1] of
        ' ' : ss:='_';
        '*' : ss:='...';
        else ss:=S[1]
      end;
      ConvertPass:=ss+ConvertPass(Copy(S,k,Length(S)));
    end
      else ConvertPass:=S[1]+ConvertPass(Copy(S,2,Length(S)-1))
  else ConvertPass:=S;
end;
 
Begin
  Writeln(ConvertPass('aaabbc**    c****bbba11111')); { abc..._c...ba1 }
end.
1
APALoff
1638 / 1067 / 1080
Регистрация: 03.07.2013
Сообщений: 4,507
14.10.2015, 14:43 #7
Цитата Сообщение от pavlysha_ Посмотреть сообщение
вы хоть формулу подскажите?
Какая формула? Это алгоритм!
0
pavlysha_
1 / 1 / 1
Регистрация: 14.10.2015
Сообщений: 14
14.10.2015, 14:46  [ТС] #8
Pascal
1
2
3
4
5
6
7
8
9
10
11
var
   
begin
assign(a,'input.txt');
assign(o,'output.txt');
reset(a);
rewrite(o);
 
close(a);
close(o);
end.
Это я знаю,мне формула нужна, по которой можно решить ее

Добавлено через 1 минуту
Думал будут помогать, а ту сборище жадных людей. Плати - будет решение....
0
ZX Spectrum-128
Модератор
Эксперт Pascal/Delphi
3858 / 2845 / 3631
Регистрация: 05.06.2014
Сообщений: 13,943
14.10.2015, 14:48 #9
pavlysha_, с вас еще никто ни копейки не попросил. Не хамите. Вам никто ничем не обязан.
0
APALoff
1638 / 1067 / 1080
Регистрация: 03.07.2013
Сообщений: 4,507
14.10.2015, 14:51 #10
К тому же решение уже приведено.
0
агерон
313 / 279 / 57
Регистрация: 12.10.2009
Сообщений: 1,086
14.10.2015, 14:54 #11
ну голый энтузиазм тоже не спасает, особенно когда перерешал подобных задачек под 1000 штук, но по правилам хорошего тона TC обязан предоставить свое решение, пусть оно будет и с ошибками, таким макаром будет видно что он хотя бы попытался решить задачу.... и как минимум переложил усилия
0
APALoff
1638 / 1067 / 1080
Регистрация: 03.07.2013
Сообщений: 4,507
14.10.2015, 14:57 #12
агерон, нигде про обязательства не сказано: желательно - "да", обязательно - "нет".
0
pavlysha_
1 / 1 / 1
Регистрация: 14.10.2015
Сообщений: 14
14.10.2015, 15:06  [ТС] #13
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var
a:char; 
  
begin
assign(input,'input.txt');
assign(output,'output.txt');
reset(input);
rewrite(output);
n:='abcd';
                   if a='abcd' then writeln(n)
                   else writeln('abc...');
                  
close(input);
close(output);
end.
Пришлось сделать "Китайским методом"
0
APALoff
1638 / 1067 / 1080
Регистрация: 03.07.2013
Сообщений: 4,507
14.10.2015, 15:15 #14
pavlysha_, решение Вам уже дано! Если Вы не можете его увидеть среди постов этой темы - то Вам уже никто не поможет.

Добавлено через 3 минуты
Кстати, Ваш "Китайский метод" даже не откомпилируется.
0
кот Бегемот
Платежеспособный зверь
8447 / 3886 / 1511
Регистрация: 28.10.2009
Сообщений: 10,062
14.10.2015, 16:00 #15
Твое счастье, Павлуша, что я уже давно не модер. Бан за хамство я бы тебе влепил без раздумий.
0
14.10.2015, 16:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.10.2015, 16:00
Привет! Вот еще темы с решениями:

Напишите программу, которая будет в зависимости от чисел N и K выводить "Yes" или "No"
1.На кассе в супермаркете новая услуга: если вы приобрели покупки, вес которых...

напишите формулу через паскаль как правильно будет?
перевидите в паскаль пожалуйста

напишите программу на паскале котрая будет рисовать картинку
надо написать программу которая будет рисовать рисунок

Напишите программу, которая создает окружности
Напишите программу,которая создает окружности,появляющиеся на экране на...


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

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

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