- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
#include <stdio.h>
int main(int argc, char *argv[])
{
int ch;
while( (ch=getchar()) != EOF ) {
ch-=77;
putchar(ch);
}
return 0;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−2
#include <stdio.h>
int main(int argc, char *argv[])
{
int ch;
while( (ch=getchar()) != EOF ) {
ch-=77;
putchar(ch);
}
return 0;
}
расшифровка
+5
int hcreate(size_t nel);
ENTRY *hsearch(ENTRY item, ACTION action);
void hdestroy(void);
Using these functions, only one hash table can be used at a time.
The argument nel specifies the maximum number of entries in the table. (This maximum cannot be changed later, so choose it wisely).
Individual hash table entries can be added, but not deleted.
Одной хеш таблицы хватит для всех, ресайзить её или удалять элементы - нинужная фича.
+1
int
next_day( int mmdd )
{
struct tm time;
time_t clock;
int date;
int secs_in_day = 60 * 60 * 24;
/* convert date to mmdd if in yyyymmdd format */
if (mmdd > 9999)
mmdd = mmdd % 10000;
/* Get today's date/time in seconds since 1970 */
clock = time( NULL );
/* Loop until we obtain a clock time corresponding to the day passed in */
while ( 1 )
{
/* Get structure with filled in date/time info. for day corresponding to
* the clock value we're currently working on & construct date from that.
*/
localtime( &clock, &time );
date = (tm->tm_mon + 1) * 100 + tm->tm_mday;
if ( date > mmdd )
{
/* Set clock back to previous day */
clock -= secs_in_day;
continue;
}
/* Set clock forward to next day */
clock += secs_in_day;
if ( date < mmdd ) /* Date is in future */
continue;
tm = localtime( &clock );
date = (tm->tm_mon + 1) * 100 + tm->tm_mday;
return date; /* Next date after one passed in */
}
}
Функция, получает день в виде числа в формате mmdd, возвращает следующий день в текущем году в таком же формате.
+6
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(void){
void run_func(char *map[], char *fnt , char *km , float *x , float *y , int line , int row , int lift );
char *long_met[3][8] = {{"mile","0.621371" , "yard","1093.61" , "fut","3280.84" , "duim","39370.1" } ,
{ "mile" ,"1.60934" , "yard","0.0009144" , "fut","0.0003048" , "duim","0.0000254"},
{"kilometer","1" , "meter","1000" , "stmeter","100000" , "mmeter","1000000" } };
char *amount[3][4] = { { "gallon" , "0.264172" , "quarta" , "1.05669" } ,
{"gallon" , " 3.78541" , "quarta" , "0.946353" },
{"litr" , "1" , "mililitr" , "1000" }};
char *mass[3][8] = { {"eng.tonna","0.984207" , "amer.tonna","1.10231" , "stone","157.473" , "funt","2204.62" } ,
{ "eng.tonna" , "1.01605" , "amer.tonna", "0.907185" , "stone","0.00635029" , "funt","0.000453592"},
{"tonna","1" , "kilogram" , "1000" , "miligram","100000" , "microgram","1000000" }};
char **cp;
char *buf_data;
char *fnt_sys;
char *mtr_sys;
char *word[100];
while(1){
int bg = 0,convert_ch = 3,y = 0, d = 0, numb = 0;
float mn =0 , xm = 0 ;
printf("%s", "enter data for converter: ");
fgets( (char *) word, 99 ,stdin);
buf_data = strtok((char *) word, " ");
if( ! strcmp(buf_data, "funt.sys" ) ){
convert_ch = 0;
}
else if( ! strcmp(buf_data, "metric.sys" ) ){
convert_ch = 1;
}
for( bg = 0 ; buf_data != NULL; buf_data = strtok(NULL, " ") , bg++ ) {
switch(bg){
case 1:
if( !strcmp("long_met" , buf_data ) ){
y = sizeof(*long_met) / sizeof(long_met[0][0]);
d = sizeof(long_met) / sizeof(long_met[0][0]);
cp = &long_met[convert_ch][0] ;
}
else if(!strcmp("amount" , buf_data ) ){
y = sizeof(*amount) / sizeof(amount [0][0]);
d = sizeof(amount) / sizeof(amount[0][0]);
cp = &amount[convert_ch][0] ;
}
else if(!strcmp("mass" , buf_data ) ){
y = sizeof(*mass ) / sizeof(mass[0][0]);
d = sizeof(mass ) / sizeof(mass[0][0]);
cp = &mass[convert_ch][0] ;
}
break;
case 2:
fnt_sys = buf_data;
break;
case 3:
mtr_sys = buf_data;
break;
case 4:
numb = atoi(buf_data);
break;
}
}
if( !y || !d || !cp || convert_ch == 3 || !numb ){
puts("error");
}
else{
run_func( cp, fnt_sys , mtr_sys , &mn , &xm , y , d , convert_ch );
if( !mn || !xm ){
puts("error");
} else{
printf("%f\n" , !convert_ch ? (mn / xm ) * numb : ( mn * xm ) * numb );
}
}
}
return 0;
}
void run_func(char *map[], char *fnt , char *km , float *x , float *y , int line , int row , int lift ){
int m ;
if( ( lift ) ){
row -= line;
}
for( m = 0 ; m <= line ; m++){
if(!strcmp(fnt,map[m])){
*x = atof(map[m + 1] ) ;
break;
}
}
for( m = (row - line) ; m <= row - 1 ; m++){
if( !strcmp( km , map[m] ) ){
*y = atof(map[m + 1 ] );
break;
}
}
}
+9
gist.github.com/superhackkiller1997/c479a4216b3ab15171db
0
if((ArrCharDead[i].keyindex == index) && (ArrCharDead[i].numdead == ActiveDead))
goto vpizdu;
Windows (C)
0
#include <stdio.h>
#include "iwlib.h"
int set_essid(int skfd, char ifname[], char arg[], int count);
int main(int argc, char *argv[])
{
int skfd;
if((skfd = iw_sockets_open()) < 0)
{
perror("socket");
exit(-1);
}
if(argc != 3) {
printf("Использование: %s [интерфейс] [essid]\n", argv[0]);
goto quit;
}
if( set_essid(skfd, argv[2], argv[3], 0) == 0 ) {
printf("Успешно установлено\n");
}
else {
printf("Произошла ошибка\n");
perror("iw_set_ext");
}
quit:
iw_sockets_close(skfd);
return 0;
}
int set_essid(int skfd, char ifname[], char arg[], int count)
{
struct iwreq wrq;
char essid[IW_ESSID_MAX_SIZE + 1];
int we_kernel_version;
wrq.u.essid.flags = 1;
strcpy(essid, arg); //копируем ессайди
we_kernel_version = iw_get_kernel_we_version();
wrq.u.essid.pointer = (caddr_t) essid;
wrq.u.essid.length = strlen(essid);
if(we_kernel_version < 21)
wrq.u.essid.length++;
if(iw_set_ext(skfd, ifname, SIOCSIWESSID, &wrq) < 0)
return(-1);
return 0;
}
Хотел написать ахуенчик но нихуя не вышло
+4
#include<stdio.h>
#include<math.h>
int const n = 50, n1 = 40, m = n / n1;
double f1(double t, double x, double y, double z);
double f2(double t, double x, double y, double z);
double f3(double t, double x, double y, double z);
int main() {
int i, k, ll;
double k11, k12, k13, k21, k22, k23, k31, k32, k33, k14, k24, k34;
double x, y, z, max;
double res[12][n1 + 1], h, a, b, t, pi, xn, yn, zn;
max = 1000.0; x = 3.0;
y = -2.0; z = -3.0;
a = 0.0; b = 1.0;
h = (b - a) / double(n);
k = 0; t = a;
res[0][0] = t; res[1][0] = x;
res[2][0] = y;
res[3][0] = z;
for (i = 1; i <= n; i++) {
k11 = f1(t, x, y, z);
k21 = f2(t, x, y, z);
k31 = f3(t, x, y, z);
k12 = f1(t + h / 2.0, x + h*k11 / 2.0, y + h*k21 / 2.0, z + h*k31 / 2.0);
k22 = f2(t + h / 2.0, x + h*k11 / 2.0, y + h*k21 / 2.0, z + h*k31 / 2.0);
k32 = f3(t + h / 2.0, x + h*k11 / 2.0, y + h*k21 / 2.0, z + h*k31 / 2.0);
k13 = f1(t + h / 2.0, x + h*k12 / 2.0, y + h*k22 / 2.0, z + h*k32 / 2.0);
k23 = f2(t + h / 2.0, x + h*k12 / 2.0, y + h*k22 / 2.0, z + h*k32 / 2.0);
k33 = f3(t + h / 2.0, x + h*k12 / 2.0, y + h*k22 / 2.0, z + h*k32 / 2.0);
k14 = f1(t + h, x + h*k13, y + h*k23, z + h*k33);
k24 = f2(t + h, x + h*k13, y + h*k23, z + h*k33);
k34 = f3(t + h, x + h*k13, y + h*k23, z + h*k33);
x = x + h*(k11 + 2.0*(k12 + k13) + k14) / 6.0;
y = y + h*(k21 + 2.0*(k22 + k23) + k24) / 6.0;
z = z + h*(k31 + 2.0*(k32 + k33) + k34) / 6.0;
t = t + h;
if (i%m == 0) {
k = k + 1;
res[0][k] = t;
res[1][k] = x;
res[2][k] = y;
res[3][k] = z;
res[4][k] = exp(t) + exp(2.0*t) + exp(-t);
res[5][k] = exp(t) - 3.0*exp(-t);
res[6][k] = exp(t) + exp(2.0*t) - 5.0*exp(-t);
res[7][k] = res[4][k] - res[1][k];
res[8][k] = res[5][k] - res[2][k];
res[9][k] = res[6][k] - res[3][k];
} if (res[7][k] < 0.0) {
res[7][k] = -res[7][k];
}
else if (res[8][k] < 0.0) {
res[8][k] = -res[8][k];
}
else if (res[9][k] < 0.0) {
res[9][k] = -res[9][k];
}
res[10][k] = res[7][k] + res[8][k] + res[9][k];
}
ll = k;
printf("k=%d\n", ll);
for (i = 0; i <= ll; i++) {
if (res[10][i] < max) max = res[10][i];
} for (i = 0; i <= n1; i++) {
printf("t=%.16lf\n", res[0][i]);
printf("x=%.16lf x(exact)=%.16lf delta=%.16lf\n", res[1][k], res[4][k], res[1][k] - res[4][k]);
printf("y=%.16lf y(exact)=%.16lf delta=%.16lf \n", res[2][k], res[5][k], res[2][k] - res[5][k]);
printf("z=%.16lf z(exact)=%.16lf delta=%.16lf \n", res[3][k], res[6][k], res[3][k] - res[6][k]);
}
printf("result:\n");
printf("t=%.16lf\n", res[0][n1]);
printf("x=%.16lf x(exact)=%.16lf delta=%.16lf\n", res[1][n1], res[4][n1], res[1][n1] - res[4][n1]);
printf("y=%.16lf y(exact)=%.16lf delta=%.16lf \n", res[2][n1], res[5][n1], res[2][n1] - res[5][n1]);
printf("z=%.16lf z(exact)=%.16lf delta=%.16lf \n", res[3][n1], res[6][n1], res[3][n1] - res[6][n1]);
printf("max norma|x|1=%.16lf \n", max / 3.0);
system("pause");
return 0;
}
double f1(double t, double x, double y, double z)
{
return x + z - y;
}
double f2(double t, double x, double y, double z)
{
return x + y - z;
}
double f3(double t, double x, double y, double z)
{
return 2.0*x - y;
}
Кандидат физико-математических наук сделал методичку по предмету "Моделирование систем". Это он так описал алгоритм решения системы ОДУ методом Рунге-Кутты.
+2
// https://github.com/vk-com/kphp-kdb/blob/ce6dead5b3345f4b38487cc9e45d55ced3dd7139/bayes/bayes-data.c#L569
for (i = j = 0; v[i]; i++) {
f[j] = i;
if (v[i + 1] == '#' && (v[i] == '&' || v[i] == '$')) {
int r = 0, ti = i;
if (v[i + 2] != 'x') {
for (i += 2; v[i] != ';' && v[i]; i++) {
if ('0' <= v[i] && v[i] <= '9') {
r = r * 10 + v[i] - '0';
} else {
break;
}
}
} else {
for (i += 3; v[i] != ';' && v[i]; i++) {
if (('0' <= v[i] && v[i] <= '9') ||
('a' <= v[i] && v[i] <= 'f') ||
('A' <= v[i] && v[i] <= 'F')) {
r = r * 16;
if (v[i] <= '9') {
r += v[i] - '0';
} else if (v[i] <= 'F') {
r += v[i] - 'A' + 10;
} else {
r += v[i] - 'a' + 10;
}
} else {
break;
}
}
}
if (r == 0) {
bad[j] = 0;
pv[j++] = v[i = ti];
} else {
bad[j] = 1;
pv[j++] = r;
if (v[i] != ';') {
i--;
}
}
} else if (v[i] == '%' && '0' <= v[i + 1] && v[i + 1] <= '7' &&
(('0' <= v[i + 2] && v[i + 2] <= '9') ||
('a' <= v[i + 2] && v[i + 2] <= 'f') ||
('A' <= v[i + 2] && v[i + 2] <= 'F'))) {
int r = (v[i + 1] - '0') * 16;
if (v[i + 2] <= '9') {
r += v[i + 2] - '0';
} else if (v[i + 2] <= 'F') {
r += v[i + 2] - 'A' + 10;
} else {
r += v[i + 2] - 'a' + 10;
}
i += 2;
if (r != ':' && r != '/' && r != '=' && r != '?' && r != '&' && r != '+') {
bad[j] = 1;
} else {
bad[j] = 0;
}
pv[j++] = r;
} else {
bad[j] = 0;
pv[j++] = v[i];
}
}
f[j] = i;
pv[j] = 0;
for (i = 0; i < j; i++) {
if ('A' <= pv[i] && pv[i] <= 'Z') {
pv[i] = pv[i] - 'A' + 'a';
bad[i] += 2;
}
}
Очередной ебаный пиздец из kPHP
В предыдущих сериях:
http://govnokod.ru/19842
http://govnokod.ru/15406
−2
#include <stdio.h>
int main(int argc, char *argv[])
{
FILE *f = fopen(argv[1], "r");
if(f == NULL)
{
perror("open");
return 1;
}
char str[8];
while( fgets(str, 9, f) != NULL)
{
if(str[0] == '\n') continue;
printf("%s", str);
}
fclose(f);
return 0;
}
вот так на си тяжко работать со строками