На этом форуме отвечают на конкретные вопросы. Фраза «я не понимаю, как решать» — это не вопрос. На вопрос «как решить задачу №X» вас отошлют к материалам сайта kpolyakov.spb.ru. За бессвязный поток слов и неспособность формулировать свои мысли — бан.

Если у вас не сходится ответ на какую-то задачу, пожалуйста сразу представляйте свое «правильное» решение.
Программы "заворачивайте" в тэг [pre2]...[/pre2], при этом сохраняются все отступы и применяется моноширинный шрифт. Если у вас используется сочетание "[i]" для обозначения элемента массива или строки, ставьте пробел после открывающей скобки. Иначе система выделит все дальнейшее курсивом.

Для регистрации на форуме щелкните по ссылке «Вход-регистрация» вверху страницы. В открывшееся окошко «ник» введите свою фамилию на русском языке (например, Иванов). В окошко «пароль» введите придуманный вами пароль, состоящий из латинских букв и цифр. Поставьте галочку в окошке «зарегистрироваться, я новый участник» и нажмите кнопку «ОК».

АвторСообщение



Не зарегистрирован
ссылка на сообщение  Отправлено: 27.04.21 17:31. Заголовок: Задание 24 №3786


Написал программу:
 var 
f: text;
a, abc, max_letter_string: string;
k, i, number, kmax, kmax1, max_letter, max_mas, max_mas1: integer;
count: array [1..26] of integer;

begin
assign(f, '1.txt');
reset(f);
abc := 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
kmax := -1;
kmax1 := -1;
max_mas := -1;
max_mas1 := -1;
K:=1;
while not eof(f) do
begin
readln(f, a);
for i := 1 to length(a) - 1 do
begin
number := pos(a[ i], abc);
inc(count[number]);
if a[ i] = a[i + 1] then inc(k)
else if kmax < k then
begin
kmax := k;
k := 1;
end;
end;
number := pos(a[length(a)], abc);
inc(count[number]);
if kmax < k then
begin
kmax := k;
k := 1;
end;
if kmax1 < kmax then
begin
kmax1 := kmax;
for i := 1 to 26 do
if count[ i] > max_mas1 then max_mas1 := count[ i];
for i := 1 to 26 do
if count[ i] = max_mas1 then
begin
max_mas := i;
break;
end;
max_letter := count[max_mas];
max_letter_string := abc[max_mas];
end;
kmax := -1;
k := 1;
for i := 1 to 26 do
count[ i] := -1;
max_mas := -1;
max_mas1 := -1;
end;
writeln(max_letter);
writeln(max_letter_string);
end.


Результат работы программы не совпадает с ответом. Программа выводит Т, когда в ответе К. При этот сделал второй вывод, который выводит количество данных букв в строке для проверки, посчитал также вручную в этой строке, букв Т там больше, чем букв К. Заранее буду благодарен, если кто мне ответит, что здесь не так.

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 10 [только новые]


Администратор




Сообщение: 2756
ссылка на сообщение  Отправлено: 27.04.21 17:36. Заголовок: Давайте убедимся, чт..


Давайте убедимся, что мы одинаково понимаем условие задачи.
1) программа должна найти строку, где находится самая длинная цепочка идущих подряд одинаковых букв; вы должны найти цепочку из 10 букв М
2) в этой строке нужно определить букву, которая встречается чаще всего (это К, она встречается 49 раз).
3) определяем, сколько всего букв К в файле.

___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 0 
ПрофильЦитата Ответить



Сообщение: 6
ссылка на сообщение  Отправлено: 27.04.21 18:16. Заголовок: Да, условие такое. К..


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

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Сообщение: 2757
ссылка на сообщение  Отправлено: 27.04.21 18:21. Заголовок: Арсений Р пишет: при..


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

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

___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 0 
ПрофильЦитата Ответить



Сообщение: 7
ссылка на сообщение  Отправлено: 27.04.21 18:28. Заголовок: Да, я обнаружил эту ..


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

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Сообщение: 2759
ссылка на сообщение  Отправлено: 27.04.21 18:35. Заголовок: На сайте есть авторс..


На сайте есть авторское решение, вы можете сравнить со своим. Отлаживайте сначала не на файле., а на одной строке, где есть несколько цепочек одинаковых символов. Или можете найти строку в файле, где 10 букв М, и отлаживать на ней. За вас это никто не сделает.

___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 0 
ПрофильЦитата Ответить



Сообщение: 8
ссылка на сообщение  Отправлено: 27.04.21 18:38. Заголовок: А нельзя ли, пожалуй..


А нельзя ли, пожалуйста, указать, где оно находится? Не могу найти

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Сообщение: 2760
ссылка на сообщение  Отправлено: 27.04.21 18:44. Заголовок: Это задача 24.165 из..


Это задача 24.165 из основного сборника. Решение есть здесь.

___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 0 
ПрофильЦитата Ответить



Сообщение: 9
ссылка на сообщение  Отправлено: 27.04.21 18:49. Заголовок: Простите, но здесь п..


Простите, но здесь представлены только 26-ые задачи, вы точно отправили тот сборник?

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Сообщение: 2762
ссылка на сообщение  Отправлено: 27.04.21 18:58. Заголовок: Да, виноват. Я попра..


Да, виноват. Я поправил ссылку.

___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 0 
ПрофильЦитата Ответить



Сообщение: 10
ссылка на сообщение  Отправлено: 27.04.21 19:03. Заголовок: Спасибо, теперь разо..


Спасибо, теперь разобрался с решением. Ещё раз спасибо большое за ответ.

Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 466
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет