- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
#define MIN(i1, i2) (i1 < i2 ? i1 : i2)
int mr_word_compare(const char* r1, int s1, const char* r2, int s2)
{
int l1 = strchr(r1, ' ') - r1;
int l2 = strchr(r2, ' ') - r2;
return strncmp(r1, r2, MIN(l1, l2));
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+139
#define MIN(i1, i2) (i1 < i2 ? i1 : i2)
int mr_word_compare(const char* r1, int s1, const char* r2, int s2)
{
int l1 = strchr(r1, ' ') - r1;
int l2 = strchr(r2, ' ') - r2;
return strncmp(r1, r2, MIN(l1, l2));
}
пердложенный вариант исправления #4093 (http://govnokod.ru/4093)
+137
#include <stdio.h>
#define template_pair_declare(x,y) \
struct x##_##y##_pair \
{ \
x first; \
x second; \
}
#define template_pair(x,y) struct x##_##y##_pair
#define template_mkpair_declare(x,y) \
template_pair(x,y) mkpair_##x##_##y(x _first,y _second) \
{ \
template_pair(x,y) res;res.first=_first;res.second=_second; \
return res; \
}
#define template_mkpair(x,y) mkpair_##x##_##y
template_pair_declare(int,int);
template_pair_declare(float,float);
int main()
{
template_pair(int,int) ip;
scanf("%d%d",&ip.first,&ip.second);
printf("Sum: %d\n",ip.first+ip.second);
template_pair(float,float) fp;
scanf("%f%f",&fp.first,&fp.second);
printf("Sum: %f\n",fp.first+fp.second);
return 0;
}
Шаблонные структуры и шаблонные функции для труЪ сишников.
+144
//massiv[i]=C1^2*(a*i+b)+C2*(a^2*i-b)+(b-a*i)^-12.5; //почемуто не работает
massiv[i]=C1*C1*(a*i+b)+C2*(a*a*i-b)+1/((b-a*i)*(b-a*i)*(b-a*i)*(b-a*i)*(b-a*i)*(b-a*i)*(b-a*i)*(b-a*i)*(b-a*i)*(b-a*i)*(b-a*i)*(b-a*i)*sqrt(b-a*i));
Нашёл проектик :)
Универ. 1 курс. Лаба по С. Не работает - будем делать кал.
Интересно, если бы степень была -125, то там было бы 125 умножений?
+143
#include <stdio.h>
amin()
{
такая вот незначительная опечатка.
+144
#include <stdio.h>
main()
{
char old[1000];
char new[1000];
int i; /*счетчик цикла длинны массива */
int z; /*счетчик нового массива */
int l; /*длинна массива */
int c; /*член массива */
l = 0;
z = 0;
printf
("программа удаления повторяющихся символов\n");
printf
("введите последовательности символов, из которых нужно удалить повторяющиеся, по окончании вводна нажмите Ctrl+D \n");
while ((c = getchar()) != EOF) {
old[l] = c;
l++;
}
old[l] = 0;
printf
("Введите символ, который нужно удадить как повторяющийся\n");
c = getchar();
for (i = 0; i < l; i++) {
if (old[i] != c) {
new[z] = old[i];
z++;
} else if (old[i] == c && old[i + 1] != c) { /*один символ из повторяющихся */
new[z] = old[i];
z++;
}
}
new[z] = 0;
printf("%s\n", new);
printf("*end");
}
Сорри за флуд, но тут форматирование полутше.
+144
#include <stdio.h>
main ()
{
char old[1000];
char new[1000];
int i; /*счетчик цикла длинны массива*/
int z; /*счетчик нового массива*/
int l; /*длинна массива*/
int c; /*член массива*/
l=0;
z=0;
printf("программа удаления повторяющихся символов\n");
printf("введите последовательности символов, из которых нужно удалить повторяющиеся, по окончании вводна нажмите Ctrl+D \n");
while((c=getchar()) != EOF)
{
old[l]=c;
l++;
}
old[l]=0;
printf("Введите символ, который нужно удадить как повторяющийся\n");
c=getchar();
for(i=0;i<l;i++)
{
if (old[i] != c)
{
new[z]=old[i];
z++;
}
else
if (old[i] == c && old[i+1] !=c) /*один пробел*/
{
new[z]=old[i];
z++;
}
}
new[z]=0;
printf("%s\n",new);
Четвертый день изучаю СИ, три дня из них ушло на написание этой програмки :-D
Шарики за ролики заехали, а потом наступил дзен и озарение.
<a href=http://mobisvit.com/iphone-f003-p-17.html >РєРѕРїРёСЏ f003</a>
+135
#include <stdio.h>
#include <stdlib.h>
int main()
{
static int val = 1;
while(val /* vanish */ --> 0)
{
(++ /* do black magic ! */ val) /* very black magic !!! */ ++;
(val == 2 ? printf("WTF ??!") : val =- 1);
}
if(val<-15)
return ((1<0?/* magic */100500:500?233?33?321?2223?0:0:0:0:0:0));
return ((!!val==!!false)?val ==- 100500?5:1:main());
}
Из разряда синтаксиса языка
+136
#include <stdio.h>
#define declare_generic_func(x)\
x add_##x(x x1,x x2) \
{\
return x1+x2;\
}
#define generic_func(x,name) name##_##x
declare_generic_func(int);
declare_generic_func(double);
int main()
{
int a,b;
double ad,bd;
printf("Enter two integer numbers: ");
scanf("%d%d",&a,&b);
printf("Result: %d\n",generic_func(int,add)(a,b));
printf("Enter two real numbers: ");
scanf("%lf%lf",&ad,&bd);
printf("Result: %lf\n",generic_func(double,add)(ad,bd));
return 0;
}
Дженерики для труЪ сишников.
+100
f = fopen(file_name, "w");
if (!f) {
f = fopen(file_name, "w+");
if (!f)
logprintfl(EUCAWARN, "Cannot create %s!\n", file_name);
else {
len = fileno(f);
if (len > 0)
fchmod(len, S_IRUSR|S_IWUSR);
}
}
Суровые калифорнийские парни сурово создают суровые файлы...
+139
inline Gdiplus::Color colorrefToGdiColor(COLORREF col, char alpha)
{
return (static_cast<unsigned long>(static_cast<unsigned char>((col & Gdiplus::Color::RedMask) >> Gdiplus::Color::RedShift)) << Gdiplus::Color::BlueShift) | (static_cast<unsigned long>(static_cast<unsigned char>((col & Gdiplus::Color::GreenMask) >> Gdiplus::Color::GreenShift)) << Gdiplus::Color::GreenShift) | (static_cast<unsigned long>(static_cast<unsigned char>((col & Gdiplus::Color::BlueMask) >> Gdiplus::Color::BlueShift)) << Gdiplus::Color::RedShift) | (static_cast<unsigned long>(alpha) << Gdiplus::Color::AlphaShift);
}
Тихо себя ненавижу. Слава Б-г'у это всё выкидывается.