- 1
- 2
- 3
int *inter = (int[]){1, 8};
/*...*/
inter = (int[]){8, 9};
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+146
int *inter = (int[]){1, 8};
/*...*/
inter = (int[]){8, 9};
+153
auto L = [](int i)->int { return i+1; };
typedef decltype(L) TL;
auto lfunc = &TL::operator();
int i = (L.*lfunc)(1);
−153
Итак, у вас есть два стека с ограничением на размер - N. Стеки поддерживают операции push, pop, top.
pop пустого стека, как и push заполненного стека вызывает соответствующее исключение.
Необходимо из этих двух стеков смоделировать стек с таким же размером, но с дополнительным свойством -\
push заполненного стека вызывает затирание последнего элемента стека, push(41,[1,2,3]) -> [41,1,2] ,\
где N=3.
Время пошло. Язык программирования любой.
Да, это не говнокод, но 90% кандидатов не могут ее решить. (Наверное, потому, что язык собеседования - 1С)
+158
# Легкий XSS clean =)
$_GET = array_map('htmlspecialchars_array', $_GET);
Очень удивило...
+168
<?php
/*
localhost Ltd - ALPHA CMS
Version: 8.0
File name: features_portability.php
Description: This file contains the FEATURES PORT MODEL class.
Coded by George Delaportas (G0D)
localhost Ltd
Copyright (c) 2011
*/
// FEATURES PORT MODEL class
class FEATURES_PORT_MODEL extends ROOT_MODEL
{
}
/* ---------- End ---------- */
?>
ALPHA CMS. Таких вот пустых классов ВРОТКОМПОТ_MODEL сорок шесть штук. Форматирование сохранено.
+130
#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#include<vector>
#include<queue>
#include<stack>
#include<string.h>
#include<sstream>
#define s(m) scanf("%d",&m);
#define sf(m) scanf("%f",&m);
#define slld(m) scanf("%lld",&m)
#define pb(m) push_back(m);
#define FOR(m) for(int i=0;i<m;i++)
#define FORS(m) for(int j=0;j<n;j++)
#define REP(n,m) for(int i=n;i<m;i++)
#define REPS(n,m) for(int j=n;j<n;j++)
#define sb(m) (pr[m>>5]|=(1<<(m&31)))
#define cb(m) (pr[m>>5]&=~(1<<(m&31)))
#define chkb(m) (pr[m>>5]&(1<<(m&31)))
#define n_sb(m) (next_pr[m>>5]|=(1<<(m&31)))
#define n_cb(m) (next_pr[m>>5]&=~(1<<(m&31)))
#define n_chkb(m) (next_pr[m>>5]&(1<<(m&31)))
#define nev(m) (m&1)
using namespace std;
int main()
{
unsigned int pr[1000];
for(int i=0;i<1000;i++)
{
pr[i]=0xffffffff;
}
for(int i=3;i*i<=10000;i+=2)
{
if(chkb(i))
{ printf("%d\n",i);
for(int j=i*i;j<=10000;j+=i+i)
{
if(chkb(j))
{
cb(j);
printf("%d\n",j);
}
}
}
}
cb(0);
cb(1);
cb(2);
FOR(10)
{
if(chkb(i)&&(i&1)!=0)
printf("%d\n",i) ;
}
int n;
s(n);
if(chkb(n)==1&&((n&1)!=0))
{
FOR(n)
printf("Hello World\n");
}
else
{
FOR(n)
printf("Hello Codesprint\n");
}
return 0;
}
Горжусь РоСсией
+146
*((Point *)((Node *) result->data)->data) = *p;
Вот это Point *, которая в void * хранится, в списке, в котором другой список хранится, в доме, который построил Джек.
+160
#include <iostream>
int main()
{
int a[4] = {1,2,3,4};
int (&b)[4] = a;
int c[4] = {5,6,7,8};
a=c;
std::cout<<b[0];
}
prog.cpp: In function ‘int main()’:
prog.cpp:8: error: invalid array assignment
Да, похоже С++ не настолько высокоуровневый, чтобы поддерживать такое понятие как присваивание массивов.
http://www.gamedev.ru/flame/forum/?id=153265&page=2#m20
−107
SELECT SUBSTR(exp, 1, 20) "expression", (CASE WHEN SUBSTR(exp, 6, 1) = '+' THEN (CASE WHEN SUBSTR(exp, 3, 1) = '+' THEN TO_NUMBER(SUBSTR(exp, 1, 2))
+ TO_NUMBER(SUBSTR(exp, 4, 2)) ELSE CASE WHEN SUBSTR(exp, 3, 1) = '-' THEN TO_NUMBER(SUBSTR(exp, 1, 2)) - TO_NUMBER(SUBSTR(exp, 4, 2)) ELSE CASE
WHEN SUBSTR(exp, 3, 1) = '*' THEN TO_NUMBER(SUBSTR(exp, 1, 2)) * TO_NUMBER(SUBSTR(exp, 4, 2)) ELSE CASE WHEN SUBSTR(exp, 3, 1) = '/' THEN
TO_NUMBER(SUBSTR(exp, 1, 2)) / TO_NUMBER(SUBSTR(exp, 4, 2)) END END END END) + TO_NUMBER(SUBSTR(exp, 7, 2)) ELSE CASE WHEN SUBSTR(exp, 6, 1) = '-'
THEN (CASE WHEN SUBSTR(exp, 3, 1) = '+' THEN TO_NUMBER(SUBSTR(exp, 1, 2)) + TO_NUMBER(SUBSTR(exp, 4, 2)) ELSE CASE WHEN SUBSTR(exp, 3, 1) = '-' THEN
TO_NUMBER(SUBSTR(exp, 1, 2)) - TO_NUMBER(SUBSTR(exp, 4, 2)) ELSE CASE WHEN SUBSTR(exp, 3, 1) = '*' THEN TO_NUMBER(SUBSTR(exp, 1, 2)) *
TO_NUMBER(SUBSTR(exp, 4, 2)) ELSE CASE WHEN SUBSTR(exp, 3, 1) = '/' THEN TO_NUMBER(SUBSTR(exp, 1, 2)) / TO_NUMBER(SUBSTR(exp, 4, 2)) END END END END)
- TO_NUMBER(SUBSTR(exp, 7, 2)) ELSE CASE WHEN SUBSTR(exp, 6, 1) = '*' THEN (CASE WHEN SUBSTR(exp, 3, 1) = '+' THEN TO_NUMBER(SUBSTR(exp, 1, 2)) +
TO_NUMBER(SUBSTR(exp, 4, 2)) ELSE CASE WHEN SUBSTR(exp, 3, 1) = '-' THEN TO_NUMBER(SUBSTR(exp, 1, 2)) - TO_NUMBER(SUBSTR(exp, 4, 2)) ELSE CASE WHEN
SUBSTR(exp, 3, 1) = '*' THEN TO_NUMBER(SUBSTR(exp, 1, 2)) * TO_NUMBER(SUBSTR(exp, 4, 2)) ELSE CASE WHEN SUBSTR(exp, 3, 1) = '/' THEN TO_NUMBER(SUBSTR(exp, 1, 2)) /
TO_NUMBER(SUBSTR(exp, 4, 2)) END END END END) * TO_NUMBER(SUBSTR(exp, 7, 2)) ELSE CASE WHEN SUBSTR(exp, 6, 1) = '/' THEN (CASE WHEN SUBSTR(exp, 3, 1) = '+' THEN
TO_NUMBER(SUBSTR(exp, 1, 2)) + TO_NUMBER(SUBSTR(exp, 4, 2)) ELSE CASE WHEN SUBSTR(exp, 3, 1) = '-' THEN TO_NUMBER(SUBSTR(exp, 1, 2)) - TO_NUMBER(SUBSTR(exp, 4, 2))
ELSE CASE WHEN SUBSTR(exp, 3, 1) = '*' THEN TO_NUMBER(SUBSTR(exp, 1, 2)) * TO_NUMBER(SUBSTR(exp, 4, 2)) ELSE CASE WHEN SUBSTR(exp, 3, 1) = '/' THEN
TO_NUMBER(SUBSTR(exp, 1, 2)) / TO_NUMBER(SUBSTR(exp, 4, 2)) END END END END) / TO_NUMBER(SUBSTR(exp, 7, 2)) END END END END) "result" FROM lab3_2;
Сидел я на прошлой лабе и делал значит задания по Oracle и вот последнее задание было таким:
"Дана таблица с единственной колонкой (строкового типа) с выражениями вида:’xx*xx*xx’ где xx – символы цифр 0..9, * - один из символов математических операций: *+-/ Например, таким выражениями являются ‘01*23+34’ ‘32+13-12’ и т.д. Требуется создать таблицу и заполнить ее строками содержащими такие выражения (не менее 5 строк), составить оператор SELECT который используя данные из этой таблицы выведет строки вида ‘<исходное выражение>=<вычисленный результат>’. Задание выполнить без учета приоритетности операций."
Вооружившись Notepad++ я составил вот такое вот запросище, которое работает между прочим :) Для повторения эксперимента нужно создать таблицу lab3_2 с полем exp строкового типа, ну и внести в нее пару каких-нибудь выражений.
−92
#!/usr/bin/env python
# -*- coding: utf-8 -*-
def foobar():
sev=raw_input("Chislo dvoichnoy sistemy schisleniya: ") # Вводим число с клавиатуры
lsev=list(sev)
n=len(lsev)-1
dec=0
result=""
f=[]
i=1
if sev <= '000000000000000000000000000000000000000000000000000000000000000000': # Проверка если много нулей
print "Chislo vosmerichnoy sistemy schisleniya: ",0
return
if sev.isdigit()== 0:
print "vi vveli nivirnyu stroku!" #Возвращает ошибку, если хотя бы 1 символ - не число
return
if sev.isalpha() == 1: #Проверка на ввод буквенных значений (True=1) значит есть буква
print "vi vveli bukvu, a doljni chisla!"
return
if sev == '':
print "vi nichego ne vveli" #Проверка на пустое поле ввода
return
else:
while n>=0:
if int(lsev[-n-1]) in range(2): # Проверяем, является ли число двоичным
dec+=int(lsev[-n-1])*2**(n) # Переводим из двоичной в десятичную
n-=1
else: # Сообщаем об ошибке ввода и прекращаем выполнение
print "Vvedennoye chislo ne yavlyayetsya dvoichnym!"
return
while dec>0: # Цикл, создающий список из остатков деления на 8 (перевод в восьмеричную систему)
f.append(dec%8)
dec=dec/8
i+=1
z=len(f)-1
while z>=0: # Созданием из списка и печатаем восьмеричное число
result+=unicode(f[z])
z-=1
print "Chislo vosmerichnoy sistemy scisleniya:",result
foobar()