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

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

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

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



Сообщение: 19
ссылка на сообщение  Отправлено: 04.04.19 16:54. Заголовок: Требуется суровый приговор.


Условие задачи: на вход программе подается: в первой строке - число N (1<N<10^9).
В каждой из последующих N строк - по одному элементу последовательности - целые числа, не превышающее по модулю 10 000.
Напишите программу, которая выводит на экран минимальное произведение двух элементов последовательности.

Мой код:
var
a:array of integer;
d,p,min,i,b:integer;
BEGIN
readln(b);
SetLength(a,b);
b:=b-1;
for p:=0 to b do
readln(a[p]);
min:=a[0]*a[1];
for d:=0 to b do
for i:=0 to b do
if (d<>i) AND (min>a[d]*a[ i]) then
min:=a[d]*a[ i];
write(min);
END.
Скажите, пожалуйста, эффективна ли эта программа хотя бы по памяти (или по времени).
Спасибо.

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





Сообщение: 20
ссылка на сообщение  Отправлено: 04.04.19 16:56. Заголовок: Почему выводится тол..


Почему выводится только "a", хотя в коде стоит "a[ i ]"?

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




Сообщение: 1863
ссылка на сообщение  Отправлено: 04.04.19 17:02. Заголовок: Wally пишет: эффекти..


Wally пишет:
 цитата:
эффективна ли эта программа хотя бы по памяти (или по времени).

Это решение на 2 балла. Программа неэффективна по памяти, потому что все данные предварительно считываются в массив. По времени также неэффективна, потому что двойной цикл по N, то есть количество операций пропорционально N2.

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





Сообщение: 9
ссылка на сообщение  Отправлено: 04.04.19 18:24. Заголовок: Ну, в программе до к..


Ну, в программе до кучи много синтаксических ошибок.
Я так понимаю, вы хотите научиться решать на 4 балла?
На самом деле, для этого в 27 задании нужно ответить на вопрос (с не всегда простым ответом).
Какую информацию нужно выцепить из набора чисел для получения ответа?
[Поправлено] В вашем примере нужно минимальное произведение. У нас числа могут быть с разными знаками, потому произведения могут быть как положительными, так и отрицательными.
Для понятности представим 3 случая:
1) Попались только неотрицательные числа. Тогда берём два самых маленьких и перемножаем.
2) Попались только отрицательные (мб и 0) числа. Тогда берём два самых больших и перемножаем.
3) Попались числа с разными знаками. Берём самое большое (с +) и самое маленькое (с -) и перемножаем.

Смотря на эти случаи можем сказать, что из всех чисел нам нужны только 2 наименьших положительных, 2 наибольших отрицательных и наибольший положительный с наименьшим отрицательным.
Из них и выбираем наименьшее произведение (проверяя каждое на наличие).

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




Сообщение: 1864
ссылка на сообщение  Отправлено: 04.04.19 18:50. Заголовок: cabanov.alexey пишет..


cabanov.alexey пишет:
 цитата:
Так как числа только положительные

В условии такого нет.

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



Сообщение: 21
ссылка на сообщение  Отправлено: 11.04.19 08:42. Заголовок: cabanov.alexey, 1) ..


cabanov.alexey,
1) почему у меня в IDE ни одной синтаксической ошибки?
2) согласен с Вами. Мне нужно научиться отбирать нужную информацию.
3) напишу новый код, когда время будет, и выложу его на форум.
P.S.
4) спасибо за напутствие.

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




Сообщение: 1873
ссылка на сообщение  Отправлено: 11.04.19 08:58. Заголовок: Wally пишет: 1) поче..


Wally пишет:
 цитата:
1) почему у меня в IDE ни одной синтаксической ошибки?

Когда вы вводили код, редактор форума воспринял [ i ] как начало блока, выделенного курсивом. Поэтому было впечатление, что в программе несколько синтаксических ошибок. Сейчас я все поправил.

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



Сообщение: 23
ссылка на сообщение  Отправлено: 11.04.19 09:04. Заголовок: Константин Юрьевич, ..


Константин Юрьевич, значит у меня в коде нет синтаксических ошибок?

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

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