Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
1 / 1 / 1
Регистрация: 14.10.2015
Сообщений: 14
1

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

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

Author24 — интернет-сервис помощи студентам
4. Ох уж эти ученые...

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

Добавлено через 39 секунд
Буду очень благодарен
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.10.2015, 13:20
Ответы с готовыми решениями:

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

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

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

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

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

Не по теме:

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

0
1 / 1 / 1
Регистрация: 14.10.2015
Сообщений: 14
14.10.2015, 14:42  [ТС] 5
агерон, Хорошо, если введу некоторое решение этой задачи. вы хоть формулу подскажите? Или самому придется????
0
1646 / 1075 / 1081
Регистрация: 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
1646 / 1075 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
14.10.2015, 14:43 7
Цитата Сообщение от pavlysha_ Посмотреть сообщение
вы хоть формулу подскажите?
Какая формула? Это алгоритм!
0
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
Эксперт Pascal/Delphi
6810 / 4567 / 4819
Регистрация: 05.06.2014
Сообщений: 22,438
14.10.2015, 14:48 9
pavlysha_, с вас еще никто ни копейки не попросил. Не хамите. Вам никто ничем не обязан.
0
1646 / 1075 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
14.10.2015, 14:51 10
К тому же решение уже приведено.
0
447 / 300 / 65
Регистрация: 12.10.2009
Сообщений: 1,162
14.10.2015, 14:54 11
ну голый энтузиазм тоже не спасает, особенно когда перерешал подобных задачек под 1000 штук, но по правилам хорошего тона TC обязан предоставить свое решение, пусть оно будет и с ошибками, таким макаром будет видно что он хотя бы попытался решить задачу.... и как минимум переложил усилия
0
1646 / 1075 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
14.10.2015, 14:57 12
агерон, нигде про обязательства не сказано: желательно - "да", обязательно - "нет".
0
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
1646 / 1075 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
14.10.2015, 15:15 14
pavlysha_, решение Вам уже дано! Если Вы не можете его увидеть среди постов этой темы - то Вам уже никто не поможет.

Добавлено через 3 минуты
Кстати, Ваш "Китайский метод" даже не откомпилируется.
0
Платежеспособный зверь
8926 / 4354 / 1642
Регистрация: 28.10.2009
Сообщений: 11,568
14.10.2015, 16:00 15
Твое счастье, Павлуша, что я уже давно не модер. Бан за хамство я бы тебе влепил без раздумий.
0
14.10.2015, 16:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.10.2015, 16:00
Помогаю со студенческими работами здесь

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

Напишите программу,которая требует ввода пароля
Программа требует ввести пароль, например 111, и если пароль правильный, то заполняет всё...

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

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


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

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