- 1
for (int i=0, N=sizeof(a)/sizeof(int); ++i<N-1; s+=(int)(a[i]>a[i-1]&&a[i]>a[i+1]));
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+146
for (int i=0, N=sizeof(a)/sizeof(int); ++i<N-1; s+=(int)(a[i]>a[i-1]&&a[i]>a[i+1]));
Это говнокод или годный троллинг? Топик http://forum.codenet.ru/threads/69046-Помогите-задача-С/
Xom94ok 22.11.2011 22:37 # 0
2. N=sizeof(a)/sizeof(int) - так не надо делать.
3. Границы диапазона?
absolut 22.11.2011 22:54 # 0
2. почему?
3. что границы?
mrxak 22.11.2011 23:00 # 0
было бы правильнее.. только тогда это уже не однострочник будет
Xom94ok 22.11.2011 23:00 # 0
2. Лучше sizeof(a)/sizeof(a[0]). А ещё лучше - vector.
3. a[0]>a[1]?
mrxak 22.11.2011 23:08 # 0
Xom94ok 22.11.2011 23:11 # +1
mrxak 22.11.2011 23:25 # 0
absolut 22.11.2011 23:40 # +1
2. о каком векторе речь, если вы здесь С++ не увидели? про размер первого эл-та согласен.
Xom94ok 23.11.2011 00:34 # 0
mrxak 22.11.2011 22:53 # 0
а что с границами? i-1 за границы не вылезает (так как ++i в условии, а for реализуется в цикл с предусловием), i+1 тоже не вылезает, так как <N-1.. и код компилится и работает, кстати))
3.14159265 22.11.2011 23:00 # 0
defecate-plusplus 22.11.2011 23:33 # 0
но как было сказано выше, случай
int a[] = {1, 0, 0, 0, 0, 1};
не обрабатывается никак
guest8 09.04.2019 12:13 # −999