Поисковая форма:) поиск по free-lance.ru Топ/история/обновления фриланса, по разным параметрам (темы, сообщения, пользователи...) Автоматическое удаление постов от ненужных юзеров в топике (php скрипт) Досье(точный ник)
 

Ник (или часть ника):
?
Какой текст ищем:
?
Раздел блогов:
За срок
дней
Тип поиска: (по вхождению: по тексту гуг выдаст посты с "гуг", "гугл", "огугл"; "полнотекстовый": по тексту "гуг" выдаст посты только с "гуг")
По вхождению строки:  Полнотекстовый: 
(поиск не 100% актуальный, есть определённая задержка при обновлении данных для поиска. )
0 Всего найдено: 21
ptaxakur Сообщение 02/11/2011 16:22 Копия темы
Нужна помощь программистов. Кто хорошо разбирается в Паскале помогите!
Нужно найти наименьшее число среди положительных массивом на 20 чисел. Диапазоном [-15 +15].
Я попробовал сделать, но не знаю правильно ли получилось, если кто может помогите  разобраться.

var a: array [1..20] of integer;
    i,x: integer;
begin
randomize;
writeln ('массив');
for i:= 1 to 20 do begin a[i]:= random (-15) +15;
end;
x:=a[1];  writeln;
for i:= 2 to 10 do if (a[i] < x)  and (a[i] > 0) then x := a[i];
writeln('минимальное =',x);
readln;
end.
DrSun Сообщение 02/11/2011 16:28 Копия темы
вроде правильна

эх паскаль паскаль! Были ж времена))
ptaxakur Сообщение 02/11/2011 16:30 Копия темы
Странно он выдает положительные числа со знаком "-" не могу понять почему?
И рандом странно работает, да Паскаль тот еще язык.
inforoom Сообщение 02/11/2011 16:38 Копия темы
ниче странного нет, все там нормально. выдает все как вы и просите))
Вопрос, а что вывести когда числа все отрицательные?
inforoom Сообщение 02/11/2011 16:42 Копия темы
нет не правильно. странно что она вообще что то выдает, в чем я глубоко сомневаюсь.
ptaxakur Сообщение 02/11/2011 16:42 Копия темы
А теперь? var a: array [-15..15] of integer;
    i,x: integer;
begin
randomize;
writeln ('Èñõîäíûé ìàññèâ');
for i:= 1 to 20 do begin a[i]:= random (14)-15;
writeln('a=',i,'');
end;
x:=a[1];  writeln;
for i:= 2 to 20 do if (x>a[i]) and (a[i] > 0) then x := a[i];
writeln('Íàèìåíüøåå ïîëîæèòåëüíîå  ',x);
readln;
end.
inforoom Сообщение 02/11/2011 16:44 Копия темы
а теперь вообще напутали.... теперь ошибки полностью)))
inforoom Сообщение 02/11/2011 16:46 Копия темы
var a: array [-15..15] of integer; и  for i:= 2 to 20 do if (x>a[i])  непляшут индексы
random (14)-15; ет не диапазон от-15 дп 15.
и кстати вы так и не сказали
>>>Вопрос, а что вывести когда числа все отрицательные?
dab_den Сообщение 02/11/2011 16:53 Копия темы
Вероятность что все числа будут отрицательны почти нулевая. :)
inforoom Сообщение 02/11/2011 16:55 Копия темы
ну ет ненада... вероятность есть)) и при решении задач ет нада учитывать. причем просто в етом формулировании идет рандом, а если по заготовленным тестам? думаю любой препод может с 99% вероятность ето спросить)
dab_den Сообщение 02/11/2011 16:58 Копия темы
Может спросить, да. Верно что в программе нужно учитывать все возможные исходы. :)
inforoom Сообщение 02/11/2011 17:00 Копия темы
просто я готовлю к олимпиадам по программированию, поетому такие условия пытаюсь читать детально! там все возможно)))
dab_den Сообщение 02/11/2011 17:03 Копия темы
Интересно! :) Ну вот, теперь подготовили Вову Курочкина к возможным «подводным камням».
ptaxakur Сообщение 02/11/2011 17:05 Копия темы
Мне бы хотя бы основу узрить доконца ;)
dab_den Сообщение 02/11/2011 17:09 Копия темы
Ну, алгоритм, верный, кажись. А синтаксис, кажется, Олегу не нравится чем-то. Думаю, вам просто нужно чуток внимательней быть, и сами вполне справитесь.

Вообще, очень интересные эти «школьные» задачи по программированию. Я помню, когда учился в универе, больно быстро решил свой вариант задачи, так что захотелось решить все остальные 40-60 вариантов. :)
inforoom Сообщение 02/11/2011 17:14 Копия темы
алгоритм более и менее правильный (идея) неправильная реализация... и важный момент... почему у него часто отрицательные числа в ответе. Да потому что x:=a[1]; и если первым стоит отрицательное число , то потом мы никакое положительное – меньше за ето отрицательно не найдем никогда. сюда алгоритм при поиске минимального или максимального числа среди все применить так в лоб нельзя.
dab_den Сообщение 02/11/2011 17:17 Копия темы
Точно. :) Надо ставить иксу 16 (или другой максимум). Цикл проходит весь, а не со второго элемента. И в конце проверять, если икс так и остался 16, то значит положительных чисел в массиве нет. :)
inforoom Сообщение 02/11/2011 17:19 Копия темы
100%
dab_den Сообщение 02/11/2011 17:20 Копия темы
Возьмете меня на олимпиаду? :)
inforoom Сообщение 02/11/2011 17:25 Копия темы
угу, ;). но не для участия, а так пивка попить))
dab_den Сообщение 02/11/2011 17:26 Копия темы
В жюри. :)
0

©2008 edogs egods
Выразить восторг, поругаться
или предложить что-нибудь можно на форуме
Для обсуждения этого сервиса так же есть темы на фрилансе по
поиску , флудотопу ,и по удалённым сообщениям ,и по Актуальным/популярным темам , и по топу "кто кому больше наотвечал"