- 1
- 2
- 3
- 4
- 5
- 6
bool IsDigit(char cKey, const char *cKeys) {
for (int i = 0; i < strlen(cKeys); i++)
if (cKeys[i] == cKey)
return true;
return false;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+1001
bool IsDigit(char cKey, const char *cKeys) {
for (int i = 0; i < strlen(cKeys); i++)
if (cKeys[i] == cKey)
return true;
return false;
}
+145
class beer
{public: beer(){beer::in();}
private: void in();void chek(int);void out(int);};
main(){beer yeeah;}
void beer::in()
{int N;std::cout << "Input N: ";std::cin>>N;int mValue[N];
for(int i=0;i<N;i++){std::cout << "Input ["<<i+1<<"] = ";std::cin>>mValue[i];}
for(int i=0;i<N;i++){beer::chek(mValue[i]);};}
void beer::chek(int Value){for(int i=2;i<Value;i++){if(Value%i==0){return;};};beer::out(Value);}
void beer::out(int Value){std::cout<<Value<<std::endl;}
Задачка на 45-50 баллов(по 50 бальной шкале), 2 курс технического ВУЗа
+156
string Delimiter(string Text, int Index, const char* Delimiter) {
int n = 0, find = 0;
for (int i = 0; i <= Index; i++) {
find = Text.find(Delimiter, n);
if (i == Index) {
return Text.substr(n, find - n);
}
n = find + 1;
}
return "";
}
+993
void inline WriteXY(int X, int Y, byte szText, WORD fColor = 0x01F) {
DWORD cWritten;
COORD ptCoord = {X - 1, Y - 1};
gotoxy(X, Y);
cout << char(szText);
cout.flush();
FillConsoleOutputAttribute(hStdOut, fColor, 1, ptCoord, &cWritten);
return;
}
void inline WriteXY(int X, int Y, string szText, WORD fColor = 0x01F) {
DWORD cWritten;
COORD ptCoord = {X - 1, Y - 1};
gotoxy(X, Y);
cout << szText.c_str();
cout.flush();
FillConsoleOutputAttribute(hStdOut, fColor, strlen(szText.c_str()), ptCoord, &cWritten);
return;
}
Функция и её прототип
+142
enum class TClockWise
{
CW=true,
CCW=false
};
template<class T>
std::ostream& operator<<(std::ostream &out, const TClockWise Cow)
{
switch(Cow)
{
case TClockWise::CW: out << "CW"; break;
case TClockWise::CCW: out << "CCW"; break;
default: MUST_NEVER_CAL_THAT;
}
return out;
}
+997
//Генерировать сетку Типы 0 и 1 - нецветная и цветная ромбическая плитки, 2 - белые точки, 3 - сетка, 4 - шахматная текстура, 5 - плитка, 6 - ковёр Серпинского.
void Image::GenerateGrid(byte type, ushort numberX, ushort numberY, float lineWidth)
{
if(type==0)
{
double kX=6.2848*numberX/Width, kY=6.2848*numberY/Height;
for(int ic=0, y=0; y<Height; y++)
{
double ykY=y*kY;
for(int x=0; x<Width; ic+=Components, x++)
Data[ic]=Data[ic+1]=Data[ic+2]=(byte)((sin(x*kX)+sin(ykY))*127.5);
}
}
else if(type==1)
{
double kX=6.2848*numberX/Width, kY=6.2848*numberY/Height;
for(int ic=0, y=0; y<Height; y++)
{
double ykY=y*kY;
for(int x=0; x<Width; ic+=Components, x++)
{
double xkX=x*kX;
Data[ic]=(byte)((sin(xkX)+sin(ykY))*127.5);
Data[ic+1]=(byte)((cos(xkX)+cos(ykY))*127.5);
Data[ic+2]=255-Data[ic+1];
}
}
}
else if(type==2)
{
double kX=6.2848*numberX/Width, kY=6.2848*numberY/Height;
for(int i=0, y=0; y<Height; y++)
{
double ykY=y*kY;
for(ushort x=0; x<Width; i+=Components, x++)
Data[i]=Data[i+1]=Data[i+2]=(byte)abs((sin(x*kX)+sin(ykY))*127.5);
}
}
else if(type==3)
{
ushort w=Width/numberX, h=Height/numberY;
for(uint ic=0, y=0; y<Height; y++)
for(ushort x=0; x<Width; ic+=Components, x++)
{
if((x+w/2)%w<lineWidth || (y+h/2)%h<lineWidth)
Data[ic]=Data[ic+1]=Data[ic+2]=0;
else Data[ic]=Data[ic+1]=Data[ic+2]=255;
}
}
else if(type==4)
{
ushort w=Width/numberX, h=Height/numberY;
for(uint ic=0, y=0; y<Height; y++)
{
byte y_over_h_and_1=((y/h)&1);
for(ushort x=0; x<Width; ic+=Components, x++)
{
if(((x/w)&1)^y_over_h_and_1) Data[ic]=Data[ic+1]=Data[ic+2]=0;
else Data[ic]=Data[ic+1]=Data[ic+2]=255;
}
}
}
else if(type==5)
{
uint w=128*numberX, h=128*numberY;
for(uint ic=0, y=0; y<Height; y++)
for(ushort x=0; x<Width; ic+=Components, x++)
Data[ic]=Data[ic+1]=Data[ic+2]=(byte)(x*w/Width^y*h/Height);
}
else if(type==6)
{
Clear(0xffffffff);
ushort segw=Width/numberX, segh=Height/numberY;
uint points=(uint)(Width*Height/(numberX*numberY*lineWidth));
for(ushort y=0; y<numberY; y++)
for(ushort x=0; x<numberX; x++)
{
ushort tx[3]={x*segw, (x+1)*segw-1, x*segw}, ty[3]={y*segh, (y+1)*segh-1, (y+1)*segh-1};
ushort index=rand()%3, px=tx[index], py=ty[index];
DrawPoint(px, py, 0x000000ff);
for(uint i=0; i<points; i++)
{
index=rand()%3;
px=(px+tx[index])/2, py=(py+ty[index])/2;
DrawPoint(px, py, 0x000000ff, lineWidth);
}
tx[2]=tx[1], ty[2]=y*segh;
index=rand()%3;
px=tx[index], py=ty[index];
DrawPoint(px, py, 0x000000ff);
for(uint i=0; i<points; i++)
{
index=rand()%3;
px=(px+tx[index])/2, py=(py+ty[index])/2;
DrawPoint(px, py, 0x000000ff, lineWidth);
}
}
}
else throw Exception("Функции Image::GenerateGrid передан неверный тип!");}
Это код из моего генератора изображений. Раньше я уже размещал похожий код из моего генератора. Причина неотрефакторенности его до сих пор в том, что я собираюсь перенести генератор на графический ускоритель, но руки до этого пока никак не доходят.
Код написан мной примерно полтора года назад. Сам теперь удивляюсь, как я мог такое написать?! Когда наткнулся на эту функцию, думал отрефакторить, азделив на маленькие, но оказалось, что мне она не нужна. Решил удалить у себя этот код и разместить здесь, чтобы все посмотрели.
Еле уместил в 100 строк. Пришлось немного подредактировать, объединив некоторые строки в одну.
+147
#include <string>
using namespace std;
int main();
void pushvalues(const string&, const string&, string&);
int main {
string lol1;
//OUTPUT
if (!(lol1))
return 1;
string lol2;
string *word1, *word2 = new string;
for (int i = 0; i != '101'; ++i) {
//Насколько я помню pop_back и pop_front возвращает удаленное значение, в противном случае сам допиши
word1.push_back(lol1.pop_front); // 123456 <- 7 <- 89 :)
if (word1[i-1] == ' ') {
word1.pop_back;
i = 101;
}
}
for (int i = 0; i != '101'; ++i) {
word2.push_back(lol1.pop_front);
if (word2[i-1] == ' ') {
word2.pop_back;
i = 101;
}
}
pushvalues(&word1, &word2, &lol2); // (word2 word1) (word3 word4 word5)
while (lol1) // word1 <-> word3 | while anything in lol1 (1. Recognise word3 2. wrap with word1 3. ??? 4. PROFIT!)
{
for (int i = 0; i != '101'; ++i) {
word2.push_back(lol1.pop_front);
if (word2[i-1] == ' ') { // WORD3 RECOGNISED FUCK YEAH ;[
word2.pop_back;
i = 101;
}
}
pushvalues(&word1, &word2, &lol2);
}
delete word1, word2;
//OUTPUT
return 0; }
/*void change(string& word1, string& word2) {
string temp;
temp = word1;
word1 = word2;
word2 = temp;
return; }*/
void pushvalues(const string& word1, const string& word2, string& container) {
container.push_back(word2);
container.push_back(' ');
container.push_back(word1);
return; }
Кодил ночью в режиме потока сознания :)
Input и output не запилил тогда, попросили помощи, писал в общих чертах
Этот код, кстати вылетает с ошибками компиляции.
Плюсы вообще в последнее время начали страдать, ибо взялся за другой язык и бросил учить плюсы
+1004
if (param["LOG"] != NULL) // пришли логи от плагина.
{
this->logs = new loger();
this->logs->write(param["LOG"], param["TYPE"], this->Name, name);
delete this->logs;
return;
}
Так мы пишем логи
+1000
int count_object = 64;
int colum = 8;
for(int i = 0; i < count_object; i++){
mObject *dot = new mObject(this);
vec.push_back(dot);
scene->addItem(dot);
}
int t = 1;
for(int j = 0; j < vec.size()-1; j++){
if(t >= colum){
scene->addItem(new mConnect(vec[j+1],vec[j+2]));
t = 0;
}else{
scene->addItem(new mConnect(vec[j],vec[j+1]));
}
++t;
}
for(int g = 0; g < colum; g++){
int u = 0;
for(int y = 0; y < vec.size()/9; y++){
scene->addItem(new mConnect(vec[g+u],vec[u+colum+g]));
u = u + colum;
}
}
особенно порвало "for(int y = 0; y < vec.size()/9; y++){"
+1000
const double pi = acos(-1.0);
В каждой посылке codeforces - участника shentianxiao.
P.S. Он - китаец