Карта сайта

Это автоматически сохраненная страница от 03.01.2014. Оригинал был здесь: http://2ch.hk/b/res/60081949.html
Сайт a2ch.ru не связан с авторами и содержимым страницы
жалоба / abuse: admin@a2ch.ru

Птн 03 Янв 2014 18:44:37
Опять двойка.
Опять двойка.Товарищи программисты, помогите решить задачу на паскале, в /pr/ половина анонима. На вход программе подается число - количество чисел, потом числа. Программа попарно перемножает все эти числа и выводит наименьшее произведение. Один анон предложил найти минимальные числа и их перемножить, но это лажа, т.к. пара с отрицательными значениями даст положительное.


Птн 03 Янв 2014 18:45:53
>>60081949 ОП, ты дебил? Создаёшь массив результатов умножения и сортируешь, а затем из него берёшь минимальное число.

Птн 03 Янв 2014 18:47:44
1/10

Птн 03 Янв 2014 18:48:28
2/10

Птн 03 Янв 2014 18:49:54
>>60081949
Наименьшее произведение по модулю или по знаку?

Птн 03 Янв 2014 18:50:06
>>60082080
Я дебил Как перемножить каждое число с каждым?

Птн 03 Янв 2014 18:52:58
>>60082189
>по знаку
Какому знаку?

Птн 03 Янв 2014 18:53:54
>>60082189
Отрицательное*положительное = отрицательное, это учитывается?

Птн 03 Янв 2014 18:55:26
>>60081949
товарищ погромист, в программировании самое сложное - сформулировать задачу. она у тебя уже абсолютно чётко сформулирована, в чём проблема? ты, блядь, не можешь клешнями написать попарно перемножающий алгоритм, который потом сравнит элементы получившегося массива?

Птн 03 Янв 2014 18:55:28

Птн 03 Янв 2014 18:56:58
>>60082080
А ты дебил? Не нужно даже сортировать, просто в 1 проход найти наименьшее.

Птн 03 Янв 2014 18:56:59
>>60082472
Не могу если б мог - не создавал бы этот тред

Птн 03 Янв 2014 18:59:00
>>60081949
int size;
double * mas=new double[size];
double min=mas[0]*mas[0];
for(int i=0;i&t;size;i++)
for(int j=i;j&t;size;j++)
{
if(mas*mas[j]&t;min)
min=mas<em>*mas[j];
}
cout&amp;t;&amp;t;min&amp;t;&amp;t;endl;
delete [] mas;
мимо c++бог
</em>

Птн 03 Янв 2014 18:59:35
>>60082554
Я так и пытался, но херь какая-то получалось

Птн 03 Янв 2014 18:59:47
>>60082475
Тогда так: попарное перемножение делается в два цикла.
Внешний от 1 до n-1 элемента, а второй от i-того до n-1 элемента. Второй вложен в первый. Создаешь переменную min, присваиваешь ей значение первого перемножения, и на каждом перемножении сравниваешь с этой величиной. Если значение меньше min - присваиваешь min новое значение, нет - идешь дальше.

Птн 03 Янв 2014 18:59:55
Берешь и проверяешь знаки наибольшего-наименьшего числа
1. Если одно отрицательное, другое положительное, ищешь наибольшее-наименьшее и перемножаешь.
2. Если 2 отрицательных - перемножаешь 2 наибольших
3. если 2 положительных - перемножаешь 2 наименьших.

Птн 03 Янв 2014 19:00:28
>>60082554
А ты не дебил случаем? В задаче написано попарно умножить.

Птн 03 Янв 2014 19:00:28
>>60082670
>if(mas*mas[j]&amp;t;min)
>min=mas<em>*mas[j];
бысрофикс
</em>

Птн 03 Янв 2014 19:01:21
>>60082725
Еще один.

Птн 03 Янв 2014 19:02:23
sage
>>60081949
Вы заебали вы. Сажа скрыл.

Птн 03 Янв 2014 19:05:14
ОП, что такое попарно перемножить? какие элементы с какими нужно перемножать?
или надо разбить массив чисел на такие пары, что их перемножение даст наименьшее число?

Птн 03 Янв 2014 19:05:34
>>60082725 слишком сложно
>>60082713 &amp;t;&amp;t; два чая этому господину

Птн 03 Янв 2014 19:07:22
>>60082982
берешь каждое число и умножаешь его с каждым (кроме его самого) и выводишь наименьшее произведение

Птн 03 Янв 2014 19:10:31
>>60083085
тогда все просто. если в массиве есть отрицательные числа, то наименьшее произведение дадут наименьшее отрицательное с наибольшим положительным. если в массиве нет отрицательных, то наменьшее произведение дадут два наименьших положительных.

Птн 03 Янв 2014 19:11:12
Ну, давай Разберем по частям попробуем.

C#

int Size;
Size = Convert.ToInt32(Console.GetLine());
int [] Array = new int[Size]

foreach(int i in Array)
i = Convert.ToInt32(Console.GetLine());

int Min = Array[0]*Array[0];

foreach(int i in Array)
foreach(int j in Array)
if(Min > (i*j))
Min = i*j ;

Console.WriteLine("Min = " + Min.ToString());


Ща сам проверю, студия 3 года открывается. Но принцип тут понятен.

Птн 03 Янв 2014 19:13:02
>>60082713
так?
min:= mas[1]*mas[2];
for i:=1 to n-1 do
for i:=i to n-1 do
begin
if min > mas*mas[i+1] then min:=mas<em>*mas[i+1];
end
</em>

Птн 03 Янв 2014 19:16:57
>>60083289
мне еще рано с# учить, хотя есть в планах.
ОП

Птн 03 Янв 2014 19:18:32
>>60083289
Я упоротый, хуйню написал

Птн 03 Янв 2014 19:20:19
>>60083385
исправьте ошибки, я опять до сих пор туплю

Птн 03 Янв 2014 19:22:06
>>60082746
харкач лагает

Птн 03 Янв 2014 19:23:00
>>60083289

Крайне хуевый пост, человек абсолютно не знает шарпа. В шарпе есть linq и там эта задача (с сортировкой) решается чуть ли не на шаге инициализации массива. И конвенции написания кода явно нарушены.

Мимопрограммисткун

Птн 03 Янв 2014 19:25:06
>>60083929
поясни

Птн 03 Янв 2014 19:26:59
>>60084050
Найти минимум в коллекции через Linq проще.

Мимо.

Птн 03 Янв 2014 19:44:00
ОНО РАБОТАЕТ!!!
ОП

Птн 03 Янв 2014 19:49:39
http://ideone.com/sH905g
полчаса как начал в java

Птн 03 Янв 2014 19:53:22
>>60084050
Использование Convert не кошерно, он чуть-чуть по другому используется, есть Int.Parse.

По конвенции:
Начальная инициализация переменной обязательна.
Название переменной в инициализирующаяся в стеке с маленькой буквы.


Array в названии переменной использовать не получиться, это почти зарезервированное слово.

Нахуя был использован foreach непонятно. Тип int не ссылочный, а значит такая инициализация не прокатит.

Нахождение минимума ололо, без комментариев.

Птн 03 Янв 2014 19:53:50
>>60085303
>maxmin
По логике же minmin.

Птн 03 Янв 2014 19:55:31
>>60082670

Знает кто, как создать vector для объектов в c++ cli? Пишу vector&amp;t;people^> a; не работает инб4: поехавший

Птн 03 Янв 2014 19:56:32
>>60085574
Инициализировать не хочешь?

Птн 03 Янв 2014 19:57:26
>>60081949
>Товарищи программисты, помогите решить задачу на паскале, в /pr/ половина анонима. На вход программе подается число - количество чисел, потом числа. Программа попарно перемножает все эти числа и выводит наименьшее произведение. Один анон предложил найти минимальные числа и их перемножить, но это лажа, т.к. пара с отрицательными значениями даст положительное.
шлюха с моего мухосранска.

Птн 03 Янв 2014 20:02:14
>>60085620
Чем?

Птн 03 Янв 2014 20:04:35
>>60081949
Блять, мне так стыдно за тебя. Такую хуйню не написать. Ладно, хуй с ним с синтаксисом, но алгоритмы то должен понимать. Сел да блять написал алгоритм. Лох ебанный, стыдно за тебя.

Птн 03 Янв 2014 20:05:03
>>60085665
Сьеби пидрила

Птн 03 Янв 2014 20:05:41
>>60085991 Бомбуча?

Птн 03 Янв 2014 20:06:48
>>60086021
Шта?

Птн 03 Янв 2014 20:09:33
>>60081949 Вообще все числа надо перемножить между собой, или только стоящие рядом?

Птн 03 Янв 2014 20:10:33
>>60082201
цикл в цикле же

Птн 03 Янв 2014 20:16:05
Мб тогда вначале проверить, какое колическтво чисел введено.
Если перемножение попарное, то и чисел должно быть чётное кол-во

Птн 03 Янв 2014 20:16:32
>>60086218
Сделал, но он стоящие рядом перемножает

Птн 03 Янв 2014 20:17:48
>>60086509
сделай исключение

Птн 03 Янв 2014 20:17:52
>>60086486
Ты идиот?

Птн 03 Янв 2014 20:19:08
>>60086570
Какое исключение?

Птн 03 Янв 2014 20:20:14
>>60083385
mas это сокращение от слова "массив" штоле? Блять, за такое еблет бил и бил бы, нахуй.

Птн 03 Янв 2014 20:20:55
>>60081949
> Программа попарно перемножает все эти числа
Нихуя не понял, как блядь попарно? Соседние или вообще все числа перемножает?

Птн 03 Янв 2014 20:21:58
>>60086671
Поехавший, ты где учился?

Птн 03 Янв 2014 20:22:44
>>60086696
Попарно.

Птн 03 Янв 2014 20:23:27
b:=kochisl; c:=kochisl-1;
for a:=1 to c do
begin
d:=a+1;
for b:=d to kochisl do
begin
e:=mas[a]*mas;
if a=1 then min:=e else if e&amp;t;min then min:=e;
end;
end;

как-то так

Птн 03 Янв 2014 20:23:40
>>60086696
все

Птн 03 Янв 2014 20:24:13
>>60086782
j=0;
for(i=0;i&amp;t;n-1; i=i+2;){
result[j]=mas*mas[i+1];
j++;
}

Птн 03 Янв 2014 20:25:04
>>60086862
блядь
j=0;
for(i=0;i&amp;t;n-1; i=i+2;){
result[j]=mas[i]*mas[i+1];
j++;
}

Птн 03 Янв 2014 20:25:50
>>60086910
Попарно.

Птн 03 Янв 2014 20:27:09
>>60083289
Посоветуйте годноты, чтобы C# освоить нормально.
Первый курс, дальше паскаля ничего не будет :с

Птн 03 Янв 2014 20:27:38
>>60086671
Двачую.

Птн 03 Янв 2014 20:29:58
>>60087000
Учишь плюсы, потом читаешь на msdn'e статью вроде C# для плюсовиков. Через 15 минут ты шарпоеб
Шутка, лол
Хотя тру стори

Птн 03 Янв 2014 20:30:10
>>60087000
Шилдт же.

Что за вуз/специальность?

Птн 03 Янв 2014 20:30:19
>>60081949
Пиздец. Это же не институт, да?

Мимо-воннаби-ИТишник

Птн 03 Янв 2014 20:31:20
>>60087150
На первом курсе сначала часто такие задачи дают. Да и тех, кто не может их решить, тоже хватает.

Птн 03 Янв 2014 20:31:42
>>60086218
У нас препод говорит что цикл в цикле хуйня и неправильно, приходится раза в 3 больше писать

Птн 03 Янв 2014 20:32:30
>>60086671
Блять, это название переменной нахуй

Птн 03 Янв 2014 20:33:03
>>60087223
Почему же?

Птн 03 Янв 2014 20:34:34
>>60087201
Охуеть просто. Потом же идет что-то нормальное? Или даже про функции на 3ем курсе только расскажут?

Птн 03 Янв 2014 20:34:37
>>60087262
название массива вообще-то

Птн 03 Янв 2014 20:35:03
>>60087223
А там по-другому и не сделаешь. Каждый-с-каждым это n^2 в любом случае.

Птн 03 Янв 2014 20:35:50
>>60087223 как ты ещё по другому сравнишь все числа в одном массиве

Птн 03 Янв 2014 20:37:03
>>60087201
Ну у меня функции были в 1 семе, ооп во 2, асм в 3.
Если грубо делить.

Птн 03 Янв 2014 20:37:05

Птн 03 Янв 2014 20:38:27
>>60087481
>GOTO
Фу. И без такой каки пережить можно.

Птн 03 Янв 2014 20:38:55
>>60087481
На языке высокого уровня?

Птн 03 Янв 2014 20:39:28
>>60087139
На деанон пох.
МАИ, прикладная механика спец. 160400.
Семинарист хотел нас C++ обучать. а лектору похуй он все равно паскаль будет спрашивать.

Птн 03 Янв 2014 20:40:18
>>60086626
стеклянный, оловянный, деревянный.

Птн 03 Янв 2014 20:40:52
>>60087576
Как анон выше написал, лучше учи плюсы. На шарп потом легко переедешь, если что. Не то, что наоборот.

Птн 03 Янв 2014 20:40:55
>>60087548
Следи за этим ничтожиством потщательней, а то они поступят на айтишника и ябут друг-другу гоуту и рипитами.

Птн 03 Янв 2014 20:42:17
>>60087632
>учи плюсы. На шарп потом легко переедешь
>прошло 5 лет, до сих пор учишь плюсы

Птн 03 Янв 2014 20:42:19
>>60087529
Препод не велел?

Птн 03 Янв 2014 20:42:41
>>60087632
И когда же он их ВЫУЧИТ? Реквестирую комикс о том, как выучить c++ за 21 день.

Птн 03 Янв 2014 20:43:39
>>60087691
Я не тот анон. Просто не люблю эту команду, особенно если можно обойтись без нее.

Птн 03 Янв 2014 20:43:45
>>60087632
Спасибо.
А плюсы с чего лучше начинать изучать ?
Какие мануалы ?

Птн 03 Янв 2014 20:44:14
Мимопроходил, не хочу создавать отдельный тред. Объясните за замыкания для тупых. Лучше на примере js. Не могу понять это говно.

Птн 03 Янв 2014 20:47:01
>>60087760
Ну так ему и вложенные циклы не нравятся, так что пусть препод от готу обосрется кровавым поносом.

Птн 03 Янв 2014 20:47:27
>>60087708
Ну времени у меня будет достаточно.
Просто я хочу иметь потом возможность поработать в IT сфере.

Птн 03 Янв 2014 20:52:44
>>60086218
квадратичная сложность с пустого места, можно сохранить несколько минимумов-максимумов и по ним решить

Птн 03 Янв 2014 20:53:08
>>60087912
Мне вот интересно - нахуя такие ПРЭПОДВАТЕЛИ живут на свете, помнится нужно было написать прогу, которая исполняла абсолютно разные алгоритмы в зависимости от введенных слов, так меня умудрились завернуть с исполнением через кэйз и сказать, что лучше всего делать через if then для КАЖДОГО, сука значения. Мой багет был неописуем.

Птн 03 Янв 2014 20:57:00
>>60088167
А нахуя ты живешь на свете? Такой вопрос в голову не приходил?

Птн 03 Янв 2014 20:58:30
>>60088361
А ты зачем?

Птн 03 Янв 2014 20:59:56
>>60088153
напотипо минимум из отрицательных, максимум из положительных и два минимума из положительных

Птн 03 Янв 2014 21:00:55
>>60088167
Смотрите на этого быдлокодера. В коем-то веке его учат учитывать особенности языка и скорость выполнения разных стейтментов, но ему похуй же, будет дальше в говне барахтаться. В следующий раз бери перл и хуярь прогу на одних лямбдах, чтобы все охуели, как ты можешь.

Птн 03 Янв 2014 21:01:43
>>60088434
Критерий мне не до конца ясен, поэтому и относительно чужого существования я вопросов не задаю.

Птн 03 Янв 2014 21:03:56
>>60088508
можно даже тремя обойтись

Птн 03 Янв 2014 21:06:10
>>60088562
>if then быстрее case
Wat? Про это я и говорил, макака ты тупая. Неужели проход через 4 оператора по твоему быстрее одного?

Птн 03 Янв 2014 21:09:19
>>60088844
ну как бы в ассемблере это все равно будет набор каких-нибудь jz по числу условий

Птн 03 Янв 2014 21:09:23
Ебать вы хуи. Задача в O(n*log(n)) решается. Тупо сортируется массив. Потом проверки:
1. Если первое элемент меньше 0, а последний больше или равен 0, то ответ их произведение.
2. Иначе, если первый больше или равен 0, то произведение 1 и 2 элементов.
3. Иначе, произведение последних двух элементов.

Птн 03 Янв 2014 21:10:26
>>60089002
Ну как бы оптимизация самого кода - тоже важная штука, и лучше не заниматься анальным цирком с кучей операторов, заменяемых одним.

Птн 03 Янв 2014 21:12:55
>>60089007
>Ебать вы хуи. Задача в O(n*log(n)) решается. Тупо сортируется массив. Потом проверки:
>1. Если первое элемент меньше 0, а последний больше или равен 0, то ответ их произведение.
>2. Иначе, если первый больше или равен 0, то произведение 1 и 2 элементов.
>3. Иначе, произведение последних двух элементов.
У тебя в переменной ошибка

Птн 03 Янв 2014 21:16:25
>>60089174
>У тебя в переменной ошибка
Где?

Птн 03 Янв 2014 21:17:14
>>60089007
O(n) или O(1), если не учитывать время, потраченное на ввод данных

Птн 03 Янв 2014 21:31:42
>>60089366 А кстати да, затупил чет. Тупо ищем 2 максимума и 2 минимума в массиве и загоняем их в те же проверки.

Птн 03 Янв 2014 21:35:24
>>60090160
Ну не совсем тупо, я вот с ходу че-то устал писать, т.к. надо обеспечить несовпадение минимумов и максимумов по "индексу", но вроде как можно без хранения массива обойтись.

Птн 03 Янв 2014 21:38:38
>>60087548
так если там лапша не в рот ебать, хотя и это можно обернуть циклом/функцией и использовать break/exit

Птн 03 Янв 2014 21:39:43
>>60081949
Program Anon
var
a :byte;
Поступай в другой институт программирование не твоё...

Птн 03 Янв 2014 21:46:36
Ничего не знаю, антуанчики, но это решается так
program ligionDelaetInfu;
var

min, num, j, i: integer;
a: Array[1..1000000] of integer; >>размер про запас

begin
read (num);
min:=4700000; >>можно взять самое большое число
for i:=1 to num do
a:=random(10)-5;
for i:=1 to num do
for j:=i to num do
if a<em>*a[j]&amp;t;min then min:=a<em>*a[j];
writeln(min);

end.


Задать динамичный массив можно, но это не принципиальный вопрос
У меня капча 123123
</em></em>

Птн 03 Янв 2014 21:54:23
Можно кароч устроится айтишником за 70-80К и спрашивать по решению задач тут.

Птн 03 Янв 2014 21:56:12
>>60082080 >>60082713 >>60082670 >>60083289 >>60086821
Быдлокодеры ебучие. Намного проще решается.

Птн 03 Янв 2014 21:58:10
>>60081949
Тогда ищи минимальные по модулю числа. Либо сначала пройдись по массиву, если там есть отрицательные числа, умножь самое меньшее на самое большее.

Птн 03 Янв 2014 21:58:52
>>60091486
А если спрашивать на stackoverflow, так и на 150к устроиться не проблема.


← К списку тредов