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

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

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

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



Не зарегистрирован
ссылка на сообщение  Отправлено: 24.02.14 12:24. Заголовок: С4 №50


Здравствуйте! В решении этой задачи Вы используете оператор BREAK.
(Можно обойтись и без него с помощью WHILE или REPEAT. Но с оператором BREAK как-то "по-крестьянски" проще.)

Я слышала, что использование этого оператора не приветствуется проверяющими. Так ли это?

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


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




Сообщение: 644
ссылка на сообщение  Отправлено: 25.02.14 08:39. Заголовок: п пишет: Я слышала, ..


п пишет:
 цитата:
Я слышала, что использование этого оператора не приветствуется проверяющими. Так ли это?

Нигде в критериях оценки работ я не видел, чтобы за использование break снижались баллы. Мое (спорное) мнение по поводу break можно посмотреть в блоге.

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



Не зарегистрирован
ссылка на сообщение  Отправлено: 25.02.14 15:30. Заголовок: Спасибо! Еще хотелос..


Спасибо!
Еще хотелось бы спросить, почему решение так закручено: создание массива маленьких чисел, сравнение каждого со значением этого массива...
Разве не проще так:
program qqq;
const n=555;

var f,i,nom:integer;
max,a: real;
begin
max:=0;
f:=0;

For i:= 1 to n do begin
readln(a);
if (a<1)and (a>max) then begin
max:= a;
nom:=i;
end;
if a>1 then begin
writeln('номер',i);
f:=1;
end;

end;
if f=0 then writeln('номер',nom);
end.

Неудобство только в том, что ввод данных перемежается с выводом результатов.
Это существенно?

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




Сообщение: 646
ссылка на сообщение  Отправлено: 25.02.14 18:36. Заголовок: проол пишет: Неудобс..


проол пишет:
 цитата:
Неудобство только в том, что ввод данных перемежается с выводом результатов.
Это существенно?

Да. Возможно, в критериях у проверяющих это будет прописано.

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



Не зарегистрирован
ссылка на сообщение  Отправлено: 01.03.14 18:42. Заголовок: Здравствуйте! Предла..


Здравствуйте!
Предлагаю другое решение задачи №50.

program qqq;
const n=5;
type nom=set of byte;
var f,i,j:integer;
max,a: real;
MNN:nom;
begin
max:=0;
For i:= 1 to n do begin
readln(a);
if (a<1)and (a>max) then begin
max:= a;
j:=i;
end;
if a>=1 then begin
f:=1;
Include(MNN,i);
end;
end;
if f=0 then writeln(j) else
for i:=1 to n do
if i in MNN then begin
write(i:5);
Exclude(MNN,i);

end;
end.


Хотелось бы учесть Ваши замечания.

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




Сообщение: 651
ссылка на сообщение  Отправлено: 03.03.14 15:33. Заголовок: >> Сигналов ..


>> Сигналов может быть очень много,...

Если вы взяли set of byte, можете зафиксировать только 255 значений. Не пойдет.

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



Сообщение: 3
ссылка на сообщение  Отправлено: 06.03.14 13:26. Заголовок: А мне кажется, что здесь получается цикл в цикле, а это не хорошо


Вот мой вариант:

var n,i,m,j,nmax:integer;
x,max:real;
a:array[1..10] of integer;
begin
readln(n);
for i:=1 to 10 do a:=0;
max:=0; nmax:=0;
m:=0;
for i:=1 to n do
begin
readln(x);
if (x<1) and (x>max) then begin max:=x; nmax:=i end;
if x<1 then begin m:=m+1; a[m]:=i end;
end;
if n=m then writeln(nmax)
else
begin
j:=1;
for i:=1 to n do
if (a[j]=0) or (i<a[j]) then write(i,' ') else j:=j+1
end;
writeln;
readln
end.

В массиве А я запоминаю только номера которые не будут печататься (их м.б. не больше 9) и поскольку они там получаются отсортированными, то цикл в цикле не нужен

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




Сообщение: 652
ссылка на сообщение  Отправлено: 06.03.14 17:33. Заголовок: Lavanda пишет: поско..


Lavanda пишет:
 цитата:
поскольку они там получаются отсортированными

Не уверен.

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



Не зарегистрирован
ссылка на сообщение  Отправлено: 06.04.14 22:16. Заголовок: Lavanda пишет: if (..




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



Сообщение: 4
ссылка на сообщение  Отправлено: 07.03.14 10:29. Заголовок: 100% В массиве А ни..


100%

В массиве А никак не сохраняются значения найденных маленьких чисел (меньших единицы), а только их номера, т.е. А[1] - это номер первого встретившегося в потоке числа меньшего единицы, само число при этом м.б. равно 0.5

В тексте программы, к сожалению, неправильно отобразилась строка начального заполнения массива А нулями (после Readln(n))

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Сообщение: 244
ссылка на сообщение  Отправлено: 02.04.14 09:59. Заголовок: Lavanda в вашем реше..


Lavanda в вашем решении есть ошибка, при N>10 возможен выход за пределы массива в строке
 цитата:
if (a[j]=0) or (i<a[j]) then write(i,' ') else j:=j+1


можно изменить условие на
 цитата:
(j>10) or (a[j]=0) or (i<a[j])


А в общем, Ваше решение действительно проще.
Константин Юрьевич, я думаю это решение стоит включить в answC4.doc

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




Сообщение: 662
ссылка на сообщение  Отправлено: 06.04.14 15:12. Заголовок: oval пишет: думаю эт..


oval пишет:
 цитата:
думаю это решение стоит включить в answC4.doc

Добавлено.

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

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