Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 13.11.2019
Сообщений: 3

Заменить в символьной строке все буквы "a" на буквы "b"

13.11.2019, 18:03. Показов 2898. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как ужать этот код? Не проходит по скорости на последнем тесте

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var 
s:string; 
i,k,:integer; 
begin 
readln(s); 
k:=0; 
for i:=1 to length(s) do 
case s[i] of 
'a': begin s[i]:='b'; inc(k); end; 
'A': begin s[i]:='B'; inc(k); end; 
'b': begin s[i]:='a'; inc(k); end; 
'B': begin s[i]:='A'; inc(k); end; 
end; 
s.println; 
k.print 
end.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.11.2019, 18:03
Ответы с готовыми решениями:

Ввести символьную строку и заменить все буквы «а» на буквы «б» и наоборот
Задача легкая, можно было решить через условный оператор, но я решил вспомнить кейс. Почему же не работает ? Ввести символьную строку...

Заменить в символьной строке все буквы "a" на буквы "b", a буквы "A" на буквы "B"
Здравствуйте,помогите пожалуйста написать программу .Напишите программу, которая заменяет в символьной строке все буквы a на буквы b , a...

В символьной матрице, которая не содержит пробелов, заменить все гласные буквы на пробелы
Помогите пожалуйста с программкой. В символьной матрице GL(M,N), M≤12, N≤16, которая не содержит пробелов, заменить все гласные буквы на...

6
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
13.11.2019, 18:08
Текст задачи какой? Может у вас алгоритм не правильный.
0
0 / 0 / 0
Регистрация: 13.11.2019
Сообщений: 3
13.11.2019, 18:10  [ТС]
Цитата Сообщение от eaa Посмотреть сообщение
Текст задачи какой? Может у вас алгоритм не правильный.
Напишите программу, которая заменяет в символьной строке все буквы a на буквы b , буквы A на буквы B , буквы b на буквы a и буквы B на буквы A .

Входные данные
Входная строка содержит символы латинского алфавита, как строчные, так и заглавные.

Выходные данные
Программа должна вывести в первой строке получившуюся в результате обработки символьную строку, а во второй – количество выполненных замен.
0
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
13.11.2019, 18:19
Цитата Сообщение от Геннадий2234 Посмотреть сообщение
Не проходит по скорости на последнем тесте
Значит проблемы со вводом/выводом. Попробуйте через чтение/запись в файл сдать, если есть такая возможность.
0
0 / 0 / 0
Регистрация: 13.11.2019
Сообщений: 3
13.11.2019, 18:20  [ТС]
нету, к сожалению
0
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
13.11.2019, 18:30
Лучший ответ Сообщение было отмечено Геннадий2234 как решение

Решение

Попробуйте Writeln(s) вместо s.Println.
Также попробуйте добавить это:
Code
1
2
3
4
begin
  Reset(input, 'input.txt');
  Rewrite(output, 'output.txt');
  ...
Или перепишите код на FreePascal, скорее всего не обновленный PascalABC.NET на проверяющей системе.
1
 Аватар для Sun Serega
2355 / 1458 / 526
Регистрация: 07.04.2017
Сообщений: 4,798
15.11.2019, 08:50
Цитата Сообщение от eaa Посмотреть сообщение
Значит проблемы со вводом/выводом
При чём тут ввод/вывод если
Цитата Сообщение от eaa Посмотреть сообщение
Не проходит по скорости
Вывод в файл будет всегда медленнее чем вывод в оперативную память.

Цитата Сообщение от eaa Посмотреть сообщение
скорее всего не обновленный PascalABC.NET
Обновления PABC.Net не влияют на скорость конечных программ. А вот что влияет - так это говнокод вроде

Цитата Сообщение от Геннадий2234 Посмотреть сообщение
s[i]:=
В .Net строки неизменяемы, поэтому этот код создаёт 100500 строк с небольшими различиями.
Если нужны изменяемые строки - надо использовать StringBuilder.
А в данном случае - сохранять назад вообще не надо, лучше сразу в вывод:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
begin
  var n := 0;
  foreach var ch in ReadString do
    case ch of
      'a': begin Write('b'); n+=1; end;
      'A': begin Write('B'); n+=1; end;
      'b': begin Write('a'); n+=1; end;
      'B': begin Write('A'); n+=1; end;
      else Write(ch);
    end;
  Writeln;
  Write(k);
end.
P.S. ну и глобальные переменные - это тоже медленно. Тут запись в счётчик идёт очень часто, поэтому влиять тоже может. Но основной проблемой были однозначно строки.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.11.2019, 08:50
Помогаю со студенческими работами здесь

Заменить в строке все буквы а на о
помогите решить задачу: (язык программирования паскаль) Заменить в строке все буквы а на о

Заменить все буквы a на q в строке из 25 символов
Срочно нужна помощь, не допускают до сессии!!! Нужно написать программу: 1. Заменить все буквы a на q в строке из 25 символов.

Гласные латинские буквы в строке нужно заменить на соответствующие прописные буквы, а каждые пять символов разделить пробелами.
Добрые Люди, помогите создать задачку. Условия Дана символьная строка, состоящая из строчные букв русского и латинского алфавита...

Заменить все малые буквы латинского алфавита на соответствующие большие буквы
Помогите плиз программку написать. Вот условие: Заменить все малые буквы латинского алфавита на соответствующие большие буквы

Заменить в строке все цифры на символ буквы А
Задана строка в длину 15, заменить в строке все цифры на символ буквы А


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru