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

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

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

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



Не зарегистрирован
ссылка на сообщение  Отправлено: 10.02.21 12:14. Заголовок: Ошибка в задании 3357


В задании неправильный ответ, верный ответ 6, а не 8, проверял на двух ЯП

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


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




Сообщение: 2421
ссылка на сообщение  Отправлено: 10.02.21 12:14. Заголовок: Показывайте программ..


Показывайте программу.

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



Не зарегистрирован
ссылка на сообщение  Отправлено: 12.02.21 19:58. Заголовок: не знаю как сдесь сд..


не знаю как здесь сделать табы грамотно
 maxim, k = 1, 1 

with open("24.txt") as t:
a = t.readline()
for i in range(1, len(a)):
if a[ i] > a[i - 1]:
k += 1
maxim = max(maxim, k)

else:
k = 1
print(maxim)


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




Сообщение: 2435
ссылка на сообщение  Отправлено: 12.02.21 20:01. Заголовок: В задании спрашивают..


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

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



Сообщение: 2
ссылка на сообщение  Отправлено: 14.02.21 10:07. Заголовок: В чем ошибка


 var 
f:text;
s:string;
max,i,k:integer;
Begin
assign(f,'24.txt');
reset(f);
Readln(f,s);
for i:=1 to length(s)-1 do
begin
if ord(s[ i])>ord(s[i+1]) then k:=k+1 else
begin
If max<k then max:=k;
k:=0;
end;
end;
Writeln(max);
end.


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




Сообщение: 2445
ссылка на сообщение  Отправлено: 14.02.21 13:33. Заголовок: Длина последовательн..


Длина последовательности, по крайней мере, равна 1, а не 0.

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



Сообщение: 3
ссылка на сообщение  Отправлено: 14.02.21 13:57. Заголовок: Все равно с ответом не сходится


 var 
f:text;
s:string;
max,i,k:integer;
Begin
assign(f,'24.txt');
reset(f);
Readln(f,s);
k:=1;
for i:=1 to length(s)-1 do
begin
if ord(s[ i])>ord(s[i+1]) then k:=k+1 else
begin
If max<k then max:=k;
k:=1;
end;
end;
Writeln(max);
end.


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




Сообщение: 2449
ссылка на сообщение  Отправлено: 14.02.21 15:54. Заголовок: Что происходит, если..


Что происходит, если нужная последовательность в самом конце строки?

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



Сообщение: 4
ссылка на сообщение  Отправлено: 14.02.21 16:18. Заголовок: Если цикл развернуть..


Если цикл развернуть, то получается. А есть ли вариант без разварота цикла? Ведь в таком случае, если последовательность в начале, мы потеряем.
var
f:text;
s:string;
max,i,k:integer;
Begin
assign(f,'24.txt');
reset(f);
Readln(f,s);
k:=1;
for i:= length(s)downto 2 do
begin
if ord(s)<ord(s[i-1]) then k:=k+1 else
begin
If max<k then max:=k;
k:=1;
end;
end;
Writeln(max);
end.

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




Сообщение: 2451
ссылка на сообщение  Отправлено: 14.02.21 16:22. Заголовок: сдающий пишет: А ест..


сдающий пишет:
 цитата:
А есть ли вариант без разварота цикла?

Конечно. Посмотрите решение на Питоне.

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



Сообщение: 5
ссылка на сообщение  Отправлено: 15.02.21 08:03. Заголовок: Я так понимаю ,что о..


Я так понимаю ,что ошибка у меня в границах. На питоне (я его не знаю((( ) вроде написано, что i изменяется от 1 до длинны строки
for i in range(1, len(a)):
if a[ i] > a[i - 1]:
Но если я пишу
for i:=1 to length(s) do
begin
if ord(s)<ord(s[i-1]) then k:=k+1 else
begin
If max<k then max:=k;
k:=1;
end;
Программа выдает ошибку, выхода за границы массива.
И выполняя сдвиг в ту или другую сторону, ошибка остается ((((

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




Сообщение: 2456
ссылка на сообщение  Отправлено: 15.02.21 14:43. Заголовок: сдающий пишет: Я так..


сдающий пишет:
 цитата:
Я так понимаю ,что ошибка у меня в границах

Посмотрите, в какой момент обновляется переменная max у вас, и в какой момент - в программе на Питоне (как только изменилось k). Сделайте так же.

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



Сообщение: 6
ссылка на сообщение  Отправлено: 15.02.21 09:22. Заголовок: И так все равно 6


var
f:text;
s:string;
max,i,k:integer;
Begin
assign(f,'24.txt');
reset(f);
Readln(f,s);
k:=1;
for i:=2 to length(s) do
begin
if ord(s)<ord(s[i-1]) then k:=k+1 else
begin
If max<k then max:=k;
k:=1;
end;
end;
Writeln(max);
end.

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



Сообщение: 7
ссылка на сообщение  Отправлено: 15.02.21 19:08. Заголовок: спасибо


var
f:text;
s:string;
max,i,k:integer;
Begin
assign(f,'24.txt');
reset(f);
Readln(f,s);
k:=1;
max:=1;
for i:=2 to length(s) do
begin
if ord(s)<ord(s[i-1]) then
begin
k:=k+1;
If max<k then max:=k
end
else
k:=1;
end;
Writeln(max);
end.
Спасибо за подсказки!
Получилось, в последнем прохождении цикла к=8 а иначе не выполняется, и мах не меняется))

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

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