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

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

14.10.2015, 13:20. Просмотров 1064. Ответов 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
Ответы с готовыми решениями:

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

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

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

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

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

14
агерон
274 / 281 / 58
Регистрация: 12.10.2009
Сообщений: 1,112
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
1640 / 1069 / 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
1640 / 1069 / 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
4225 / 3068 / 3794
Регистрация: 05.06.2014
Сообщений: 15,427
14.10.2015, 14:48 9
pavlysha_, с вас еще никто ни копейки не попросил. Не хамите. Вам никто ничем не обязан.
0
APALoff
1640 / 1069 / 1080
Регистрация: 03.07.2013
Сообщений: 4,507
14.10.2015, 14:51 10
К тому же решение уже приведено.
0
агерон
274 / 281 / 58
Регистрация: 12.10.2009
Сообщений: 1,112
14.10.2015, 14:54 11
ну голый энтузиазм тоже не спасает, особенно когда перерешал подобных задачек под 1000 штук, но по правилам хорошего тона TC обязан предоставить свое решение, пусть оно будет и с ошибками, таким макаром будет видно что он хотя бы попытался решить задачу.... и как минимум переложил усилия
0
APALoff
1640 / 1069 / 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
1640 / 1069 / 1080
Регистрация: 03.07.2013
Сообщений: 4,507
14.10.2015, 15:15 14
pavlysha_, решение Вам уже дано! Если Вы не можете его увидеть среди постов этой темы - то Вам уже никто не поможет.

Добавлено через 3 минуты
Кстати, Ваш "Китайский метод" даже не откомпилируется.
0
кот Бегемот
Платежеспособный зверь
8502 / 3938 / 1536
Регистрация: 28.10.2009
Сообщений: 10,229
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