Форум » Обработка символьных строк » Задание 24 №42 не сходится ответ » Ответить

Задание 24 №42 не сходится ответ

Агаркова: Здравствуйте, ваши ответы дают результат: 1 9 ccccccccC 2 8 cccccccC 3 8 cccccccC 4 6 cccccC 5 7 ccccccC 6 8 cccccccC Моя программа выдает результат: 1 8 cccccccC 2 7 ccccccC 3 6 cccccC 4 8 cccccccC 5 8 cccccccC 6 9 ccccccccC Просчитывала вручную по файлу, мой результат совпадает. Посмотрите, пожалуйста, код программы. Может, я не поняла условия. Файлы скачала заново, у меня все равно не сходится ответ. [pre2] var i, countC, C: longint; s: string; begin assign(input, 'k7-m4.txt'); readln(s); C := 0; countC:=0; if (s[1]='C') then C:=C+1; for i:=2 to length(s) do begin if s[ i]='C' then begin C := C+1;; if (i=length(s)) and (s[i-1]='C') and (C>=6) then begin write (countC+1, ' ', C, ' '); for var j := 1 to C-1 do write ('c'); writeln('C'); end; end else begin if (C>=6) then begin countC := countC+1; write (countC, ' ', C, ' '); for var j := 1 to C-1 do write ('c');; writeln('C'); end; c:=0; end;; end; end.[/pre2]

Ответов - 1

Михлин: Здравствуйте! В условии задачи сказано, что исходную цепочку надо просматривать справа налево. В Вашем ответе обратный порядок следования строк. На всякий случай привожу свою программу на Python. [pre2] s=open('K7-m4.txt').read() nc=0 # порядковый номер C-подцепочи длиной >= 6 count=0 # количество символов C в текущей C-подцепочке for ch in s[::-1]: # перебираем символы в перевернутой s if ch=='C': count+=1 else: # символ отличный от 'C' if count>=6: nc+=1 # посчитаем закончившуюся C-подцепочку c длиной >= 6 print(nc,count,'c'*(count-1)+'C') count=0 # сброс для следующей C-подцепочки if count>=6: # если строка s заканчивается C-подцепочкой c длиной >= 6, nc+=1 # то посчитаем ее print(nc,count,'c'*(count-1)+'C')[/pre2]



полная версия страницы