Pandochka7771
26.06.2021 02:09

Уменьшить время программы, все тесты проходит, проблема только во времени (на языке паскаль) var s: string ; var k,i: integer; begin readln(s); k: =0; for i: =1 to length(s) do if s[i]='a' then begin s[i]: ='b'; k: =k+1; end; for i: =1 to length(s) do if s[i]='a' then begin s[i]: ='b'; k: =k+1; end; writeln(s); writeln(k); end.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
79042532294
09.10.2020 07:48
Код (Pascal)

var

 s: string;

 k, i: integer;


begin

 readln(s);

 k := 0;

 for i := 1 to length(s) do

   if s[i] = 'a' then

   begin

     s[i] := 'b';

     k := k + 1;

   end

   else if s[i] = 'A' then

   begin

     s[i] := 'B';

     k := k + 1;

   end;

 writeln(s);

 writeln(k);

end.

Файл с решением прикреплён.

0,0(0 оценок)
Ответ:
ВыберитеНик976476
09.10.2020 07:48

На Паскале если используются переменные типа string, то обработка строки занимает ну ооооочень много времени.  Вместо string лучше использовать массив char.  На скринах приведен пример программ с использованием char.  Символы считывались из файла , размер 20000.  Время работы программ (разницу) оцените сами.


Уменьшить время программы, все тесты проходит, проблема только во времени (на языке паскаль) var s:
Уменьшить время программы, все тесты проходит, проблема только во времени (на языке паскаль) var s:
Уменьшить время программы, все тесты проходит, проблема только во времени (на языке паскаль) var s:
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота