CODE |
Created with colorer-take5 library. Type 'perl' open FH[color=#808030; ],[/color] [color=#0000e6; ]"[/color][color=#008c00; ]03[/color][color=#0000e6; ]-[/color][color=#008c00; ]05[/color][color=#0000e6; ]-any.txt"[/color] [color=#808030; ]or[/color] die $![color=#800080; ];[/color] while[color=#808030; ]([/color][color=#40015a; ]<FH>[/color][color=#808030; ])[/color] [color=#800080; ]{[/color] $hosts[color=#800080; ]{[/color]$4[color=#800080; ]}[/color][color=#808030; ]+[/color][color=#808030; ]=[/color]$7 [color=#808030; ]if[/color][color=#0000e6; ] [/color][color=#800000; ]/[/color][color=#0000e6; ]^[/color][color=#0f69ff; ]\s[/color][color=#0000e6; ]+([/color][color=#0f69ff; ]\w[/color][color=#0000e6; ]+)[/color][color=#0f69ff; ]\s[/color][color=#0000e6; ]+([/color][color=#0f69ff; ]\d[/color][color=#0000e6; ]{[/color][color=#008c00; ]1[/color][color=#0000e6; ],[/color][color=#008c00; ]3[/color][color=#0000e6; ]}[/color][color=#0f69ff; ]\.[/color][color=#0f69ff; ]\d[/color][color=#0000e6; ]{[/color][color=#008c00; ]1[/color][color=#0000e6; ],[/color][color=#008c00; ]3[/color][color=#0000e6; ]}[/color][color=#0f69ff; ]\.[/color][color=#0f69ff; ]\d[/color][color=#0000e6; ]{[/color][color=#008c00; ]1[/color][color=#0000e6; ],[/color][color=#008c00; ]3[/color][color=#0000e6; ]}[/color][color=#0f69ff; ]\.[/color][color=#0f69ff; ]\d[/color][color=#0000e6; ]{[/color][color=#008c00; ]1[/color][color=#0000e6; ],[/color][color=#008c00; ]3[/color][color=#0000e6; ]})[/color][color=#0f69ff; ]\s[/color][color=#0000e6; ]+([/color][color=#0f69ff; ]\w[/color][color=#0000e6; ]+)[/color][color=#0f69ff; ]\s[/color][color=#0000e6; ]+([/color][color=#0f69ff; ]\d[/color][color=#0000e6; ]{[/color][color=#008c00; ]1[/color][color=#0000e6; ],[/color][color=#008c00; ]3[/color][color=#0000e6; ]}[/color][color=#0f69ff; ]\.[/color][color=#0f69ff; ]\d[/color][color=#0000e6; ]{[/color][color=#008c00; ]1[/color][color=#0000e6; ],[/color][color=#008c00; ]3[/color][color=#0000e6; ]}[/color][color=#0f69ff; ]\.[/color][color=#0f69ff; ]\d[/color][color=#0000e6; ]{[/color][color=#008c00; ]1[/color][color=#0000e6; ],[/color][color=#008c00; ]3[/color][color=#0000e6; ]}[/color][color=#0f69ff; ]\.[/color][color=#0f69ff; ]\d[/color][color=#0000e6; ]{[/color][color=#008c00; ]1[/color][color=#0000e6; ],[/color][color=#008c00; ]3[/color][color=#0000e6; ]})[/color][color=#0f69ff; ]\s[/color][color=#0000e6; ]+([/color][color=#0f69ff; ]\w[/color][color=#0000e6; ]+)[/color][color=#0f69ff; ]\s[/color][color=#0000e6; ]+([/color][color=#0f69ff; ]\d[/color][color=#0000e6; ]+)[/color][color=#0f69ff; ]\s[/color][color=#0000e6; ]+([/color][color=#0f69ff; ]\d[/color][color=#0000e6; ]+)[/color][color=#800000; ]/[/color][color=#800080; ];[/color] [color=#800080; ]}[/color] open FH[color=#808030; ],[/color] [color=#0000e6; ]">perl.txt"[/color] [color=#808030; ]or[/color] die $![color=#800080; ];[/color] print FH [color=#0000e6; ]"[/color][color=#0000e6; ]$_[/color][color=#0000e6; ]: [/color][color=#0000e6; ]$hosts[/color][color=#0000e6; ]{[/color][color=#0000e6; ]$_[/color][color=#0000e6; ]}[/color][color=#0f69ff; ]\n[/color][color=#0000e6; ]"[/color] for sort [color=#800080; ]{[/color] $hosts[color=#800080; ]{[/color]$b[color=#800080; ]}[/color] [color=#40015a; ]<=>[/color] $hosts[color=#800080; ]{[/color]$a[color=#800080; ]}[/color] [color=#800080; ]}[/color] keys %hosts[color=#800080; ];[/color] |
CODE |
Created with colorer-take5 library. Type 'perl' open FH[color=#808030; ],[/color] [color=#0000e6; ]"[/color][color=#008c00; ]03[/color][color=#0000e6; ]-[/color][color=#008c00; ]05[/color][color=#0000e6; ]-any.txt"[/color] [color=#808030; ]or[/color] die $![color=#800080; ];[/color] while[color=#808030; ]([/color][color=#40015a; ]<FH>[/color][color=#808030; ])[/color] [color=#800080; ]{[/color] @x[color=#808030; ]=[/color][color=#808030; ]split[/color][color=#0000e6; ] [/color][color=#800000; ]/[/color][color=#0f69ff; ]\s[/color][color=#0000e6; ]+[/color][color=#800000; ]/[/color][color=#800080; ];[/color] $hosts[color=#800080; ]{[/color]$x[color=#808030; ][[/color][color=#008c00; ]4[/color][color=#808030; ]][/color][color=#800080; ]}[/color][color=#808030; ]+[/color][color=#808030; ]=[/color]$x[color=#808030; ][[/color][color=#008c00; ]7[/color][color=#808030; ]][/color] if $x[color=#808030; ][[/color][color=#008c00; ]4[/color][color=#808030; ]][/color] [color=#808030; ]and[/color] $x[color=#808030; ][[/color][color=#008c00; ]7[/color][color=#808030; ]][/color][color=#800080; ];[/color] [color=#800080; ]}[/color] open FH[color=#808030; ],[/color] [color=#0000e6; ]">perl.txt"[/color] [color=#808030; ]or[/color] die $![color=#800080; ];[/color] print FH [color=#0000e6; ]"[/color][color=#0000e6; ]$_[/color][color=#0000e6; ]: [/color][color=#0000e6; ]$hosts[/color][color=#0000e6; ]{[/color][color=#0000e6; ]$_[/color][color=#0000e6; ]}[/color][color=#0f69ff; ]\n[/color][color=#0000e6; ]"[/color] for sort [color=#800080; ]{[/color] $hosts[color=#800080; ]{[/color]$b[color=#800080; ]}[/color] [color=#40015a; ]<=>[/color] $hosts[color=#800080; ]{[/color]$a[color=#800080; ]}[/color] [color=#800080; ]}[/color] keys %hosts[color=#800080; ];[/color] |
CODE |
Created with colorer-take5 library. Type 'php' <?[/span] $fh=fopen("03-05-any.txt","r"); while(!feof($fh)) if(preg_match("/^\s+(\w+)\s+(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\s+(\w+)\s+(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\s+(\w+)\s+(\d+)\s+(\d+)/",fgets($fh),$m)) $hosts[[/color]$m[color=#808030; background:#ffffe8; ][[/color]4[color=#808030; background:#ffffe8; ]]]+=$m[[/color]7[color=#808030; background:#ffffe8; ]]; arsort($hosts); reset($hosts); $fh=fopen("php.txt","w"); foreach($hostsas$ip=>$traff) { fputs($fh,"$ip: $traff\n"); } fclose($fh); [span style='color:#a65700; background:#ffffe8; ']?> |
CODE |
Created with colorer-take5 library. Type 'cpp' [color=#004a43; ]#[/color]include[color=#004a43; ] [/color][color=#0000e6; ]<stdio.h>[/color] [color=#004a43; ]#[/color]include[color=#004a43; ] [/color][color=#0000e6; ]<string.h>[/color] void main[color=#808030; ]([/color]void[color=#808030; ])[/color] [color=#800080; ]{[/color] const int max_items[color=#808030; ]=[/color][color=#008c00; ]20000[/color][color=#800080; ];[/color] unsigned int keys[color=#808030; ][[/color]max_items[color=#808030; ]][/color][color=#800080; ];[/color] int values[color=#808030; ][[/color]max_items[color=#808030; ]][/color][color=#800080; ];[/color] int pos[color=#808030; ]=[/color][color=#008c00; ]0[/color][color=#800080; ];[/color] char buf[color=#808030; ][[/color][color=#008c00; ]256[/color][color=#808030; ]][/color][color=#800080; ];[/color] char proto[color=#808030; ][[/color][color=#008c00; ]6[/color][color=#808030; ]][/color][color=#800080; ];[/color] char src[color=#808030; ][[/color][color=#008c00; ]16[/color][color=#808030; ]][/color][color=#800080; ];[/color] char src_port[color=#808030; ][[/color][color=#008c00; ]16[/color][color=#808030; ]][/color][color=#800080; ];[/color] char dst[color=#808030; ][[/color][color=#008c00; ]16[/color][color=#808030; ]][/color][color=#800080; ];[/color] char dst_port[color=#808030; ][[/color][color=#008c00; ]16[/color][color=#808030; ]][/color][color=#800080; ];[/color] int sent[color=#800080; ];[/color] int [color=#008484; ]recv[/color][color=#800080; ];[/color] unsigned int ip[color=#800080; ];[/color] int ip_b1[color=#808030; ],[/color]ip_b2[color=#808030; ],[/color]ip_b3[color=#808030; ],[/color]ip_b4[color=#800080; ];[/color] FILE[color=#808030; ]*[/color] fp[color=#808030; ]=[/color]fopen[color=#808030; ]([/color][color=#0000e6; ]"03-05-any.txt"[/color][color=#808030; ],[/color][color=#0000e6; ]"r"[/color][color=#808030; ])[/color][color=#800080; ];[/color] while[color=#808030; ]([/color][color=#808030; ]![/color]feof[color=#808030; ]([/color]fp[color=#808030; ])[/color][color=#808030; ])[/color] [color=#800080; ]{[/color] fgets[color=#808030; ]([/color]buf[color=#808030; ],[/color][color=#008c00; ]254[/color][color=#808030; ],[/color]fp[color=#808030; ])[/color][color=#800080; ];[/color] [color=#696969; ]// Разберём строку[/color] fscanf[color=#808030; ]([/color]fp[color=#808030; ],[/color] [color=#0000e6; ]"[/color][color=#0f69ff; ]%s[/color][color=#0000e6; ] [/color][color=#0f69ff; ]%s[/color][color=#0000e6; ] [/color][color=#0f69ff; ]%s[/color][color=#0000e6; ] [/color][color=#0f69ff; ]%s[/color][color=#0000e6; ] [/color][color=#0f69ff; ]%s[/color][color=#0000e6; ] [/color][color=#0f69ff; ]%d[/color][color=#0000e6; ] [/color][color=#0f69ff; ]%d[/color][color=#0000e6; ]"[/color][color=#808030; ],[/color] proto[color=#808030; ],[/color] src[color=#808030; ],[/color] src_port[color=#808030; ],[/color] dst[color=#808030; ],[/color] dst_port[color=#808030; ],[/color] [color=#808030; ]&[/color]sent[color=#808030; ],[/color] [color=#808030; ]&[/color][color=#008484; ]recv[/color][color=#808030; ])[/color][color=#800080; ];[/color] if[color=#808030; ]([/color][color=#008484; ]recv[/color] [color=#808030; ]&[/color][color=#808030; ]&[/color] strstr[color=#808030; ]([/color]dst[color=#808030; ],[/color][color=#0000e6; ]"."[/color][color=#808030; ])[/color][color=#808030; ]>[/color][color=#008c00; ]0[/color][color=#808030; ])[/color] [color=#800080; ]{[/color] [color=#696969; ]// Разберём IP и плучим его численное значение[/color] sscanf[color=#808030; ]([/color]dst[color=#808030; ],[/color][color=#0000e6; ]"[/color][color=#0f69ff; ]%d[/color][color=#0000e6; ].[/color][color=#0f69ff; ]%d[/color][color=#0000e6; ].[/color][color=#0f69ff; ]%d[/color][color=#0000e6; ].[/color][color=#0f69ff; ]%d[/color][color=#0000e6; ]"[/color][color=#808030; ],[/color] [color=#808030; ]&[/color]ip_b1[color=#808030; ],[/color] [color=#808030; ]&[/color]ip_b2[color=#808030; ],[/color] [color=#808030; ]&[/color]ip_b3[color=#808030; ],[/color] [color=#808030; ]&[/color]ip_b4[color=#808030; ])[/color][color=#800080; ];[/color] ip[color=#808030; ]=[/color]ip_b1[color=#808030; ]<[/color][color=#808030; ]<[/color][color=#008c00; ]24[/color][color=#808030; ]|[/color]ip_b2[color=#808030; ]<[/color][color=#808030; ]<[/color][color=#008c00; ]16[/color][color=#808030; ]|[/color]ip_b3[color=#808030; ]<[/color][color=#808030; ]<[/color][color=#008c00; ]8[/color][color=#808030; ]|[/color]ip_b4[color=#800080; ];[/color] [color=#696969; ]// Ищем этот IP в хеше[/color] int found[color=#808030; ]=[/color][color=#808030; ]-[/color][color=#008c00; ]1[/color][color=#800080; ];[/color] for[color=#808030; ]([/color]int i[color=#808030; ]=[/color][color=#008c00; ]0[/color][color=#800080; ];[/color] i[color=#808030; ]<[/color]pos[color=#800080; ];[/color] i[color=#808030; ]+[/color][color=#808030; ]+[/color][color=#808030; ])[/color] if[color=#808030; ]([/color]keys[color=#808030; ][[/color]i[color=#808030; ]][/color][color=#808030; ]=[/color][color=#808030; ]=[/color]ip[color=#808030; ])[/color] [color=#696969; ]// нашли[/color] [color=#800080; ]{[/color] found[color=#808030; ]=[/color]i[color=#800080; ];[/color] break[color=#800080; ];[/color] [color=#800080; ]}[/color] if[color=#808030; ]([/color]found[color=#808030; ]=[/color][color=#808030; ]=[/color][color=#808030; ]-[/color][color=#008c00; ]1[/color][color=#808030; ])[/color] [color=#696969; ]// не нашли[/color] if[color=#808030; ]([/color]pos[color=#808030; ]<[/color]max_items[color=#808030; ])[/color] keys[color=#808030; ][[/color]found[color=#808030; ]=[/color]pos[color=#808030; ]+[/color][color=#808030; ]+[/color][color=#808030; ]][/color][color=#808030; ]=[/color]ip[color=#800080; ];[/color] else printf[color=#808030; ]([/color][color=#0000e6; ]"Ошибка: переполнение хеша![/color][color=#0f69ff; ]\n[/color][color=#0000e6; ]"[/color][color=#808030; ])[/color][color=#800080; ];[/color] if[color=#808030; ]([/color]found[color=#808030; ]![/color][color=#808030; ]=[/color][color=#808030; ]-[/color][color=#008c00; ]1[/color][color=#808030; ])[/color] values[color=#808030; ][[/color]found[color=#808030; ]][/color][color=#808030; ]+[/color][color=#808030; ]=[/color][color=#008484; ]recv[/color][color=#800080; ];[/color] [color=#800080; ]}[/color] [color=#800080; ]}[/color] fclose[color=#808030; ]([/color]fp[color=#808030; ])[/color][color=#800080; ];[/color] [color=#696969; ]// Быстрая (Q) сортировка[/color] for[color=#808030; ]([/color]int i[color=#808030; ]=[/color][color=#008c00; ]0[/color][color=#800080; ];[/color] i[color=#808030; ]<[/color]pos[color=#800080; ];[/color] i[color=#808030; ]+[/color][color=#808030; ]+[/color][color=#808030; ])[/color] [color=#800080; ]{[/color] int [color=#008484; ]max[/color][color=#808030; ]=[/color][color=#808030; ]-[/color][color=#008c00; ]1[/color][color=#800080; ];[/color] int max_pos[color=#808030; ]=[/color][color=#808030; ]-[/color][color=#008c00; ]1[/color][color=#800080; ];[/color] for[color=#808030; ]([/color]int j[color=#808030; ]=[/color]i[color=#808030; ]+[/color][color=#008c00; ]1[/color][color=#800080; ];[/color] j[color=#808030; ]<[/color]pos[color=#800080; ];[/color] j[color=#808030; ]+[/color][color=#808030; ]+[/color][color=#808030; ])[/color] [color=#800080; ]{[/color] if[color=#808030; ]([/color]values[color=#808030; ][[/color]j[color=#808030; ]][/color][color=#808030; ]>[/color][color=#008484; ]max[/color][color=#808030; ])[/color] [color=#800080; ]{[/color] [color=#008484; ]max[/color][color=#808030; ]=[/color]values[color=#808030; ][[/color]j[color=#808030; ]][/color][color=#800080; ];[/color] max_pos[color=#808030; ]=[/color]j[color=#800080; ];[/color] [color=#800080; ]}[/color] [color=#800080; ]}[/color] if[color=#808030; ]([/color][color=#008484; ]max[/color][color=#808030; ]>[/color][color=#008c00; ]0[/color][color=#808030; ])[/color] [color=#800080; ]{[/color] int tmp[color=#808030; ]=[/color] keys[color=#808030; ][[/color]i[color=#808030; ]][/color][color=#800080; ];[/color] keys[color=#808030; ][[/color]i[color=#808030; ]][/color][color=#808030; ]=[/color] keys[color=#808030; ][[/color]max_pos[color=#808030; ]][/color][color=#800080; ];[/color] keys[color=#808030; ][[/color]max_pos[color=#808030; ]][/color][color=#808030; ]=[/color]tmp[color=#800080; ];[/color] tmp[color=#808030; ]=[/color]values[color=#808030; ][[/color]i[color=#808030; ]][/color][color=#800080; ];[/color] values[color=#808030; ][[/color]i[color=#808030; ]][/color][color=#808030; ]=[/color]values[color=#808030; ][[/color]max_pos[color=#808030; ]][/color][color=#800080; ];[/color] values[color=#808030; ][[/color]max_pos[color=#808030; ]][/color][color=#808030; ]=[/color]tmp[color=#800080; ];[/color] [color=#800080; ]}[/color] [color=#800080; ]}[/color] fp[color=#808030; ]=[/color]fopen[color=#808030; ]([/color][color=#0000e6; ]"cpp.txt"[/color][color=#808030; ],[/color][color=#0000e6; ]"w"[/color][color=#808030; ])[/color][color=#800080; ];[/color] for[color=#808030; ]([/color]int i[color=#808030; ]=[/color][color=#008c00; ]0[/color][color=#800080; ];[/color] i[color=#808030; ]<[/color]pos[color=#800080; ];[/color] i[color=#808030; ]+[/color][color=#808030; ]+[/color][color=#808030; ])[/color] [color=#800080; ]{[/color] ip_b1[color=#808030; ]=[/color][color=#808030; ]([/color]keys[color=#808030; ][[/color]i[color=#808030; ]][/color][color=#808030; ]>[/color][color=#808030; ]>[/color][color=#008c00; ]24[/color][color=#808030; ])[/color] [color=#808030; ]&[/color] [color=#008000; ]0xFF[/color][color=#800080; ];[/color] ip_b2[color=#808030; ]=[/color][color=#808030; ]([/color]keys[color=#808030; ][[/color]i[color=#808030; ]][/color][color=#808030; ]>[/color][color=#808030; ]>[/color][color=#008c00; ]16[/color][color=#808030; ])[/color] [color=#808030; ]&[/color] [color=#008000; ]0xFF[/color][color=#800080; ];[/color] ip_b3[color=#808030; ]=[/color][color=#808030; ]([/color]keys[color=#808030; ][[/color]i[color=#808030; ]][/color][color=#808030; ]>[/color][color=#808030; ]>[/color] [color=#008c00; ]8[/color][color=#808030; ])[/color] [color=#808030; ]&[/color] [color=#008000; ]0xFF[/color][color=#800080; ];[/color] ip_b4[color=#808030; ]=[/color] keys[color=#808030; ][[/color]i[color=#808030; ]][/color] [color=#808030; ]&[/color] [color=#008000; ]0xFF[/color][color=#800080; ];[/color] fprintf[color=#808030; ]([/color]fp[color=#808030; ],[/color][color=#0000e6; ]"[/color][color=#0f69ff; ]%d[/color][color=#0000e6; ].[/color][color=#0f69ff; ]%d[/color][color=#0000e6; ].[/color][color=#0f69ff; ]%d[/color][color=#0000e6; ].[/color][color=#0f69ff; ]%d[/color][color=#0000e6; ]: [/color][color=#0f69ff; ]%u[/color][color=#0f69ff; ]\n[/color][color=#0000e6; ]"[/color][color=#808030; ],[/color]ip_b1[color=#808030; ],[/color]ip_b2[color=#808030; ],[/color]ip_b3[color=#808030; ],[/color]ip_b4[color=#808030; ],[/color] values[color=#808030; ][[/color]i[color=#808030; ]][/color][color=#808030; ])[/color][color=#800080; ];[/color] [color=#800080; ]}[/color] fclose[color=#808030; ]([/color]fp[color=#808030; ])[/color][color=#800080; ];[/color] [color=#800080; ]}[/color] |
CODE |
Created with colorer-take5 library. Type 'cpp' struct mystruct [color=#800080; ]{[/color] long ip[color=#800080; ];[/color] long traffic[color=#800080; ];[/color] char is_processed[color=#800080; ];[/color] [color=#800080; ]}[/color] |
CODE |
Created with colorer-take5 library. Type 'cpp' [color=#004a43; ]#[/color]include[color=#004a43; ] [/color][color=#0000e6; ]<stdio.h>[/color] [color=#004a43; ]#[/color]include[color=#004a43; ] [/color][color=#0000e6; ]<string.h>[/color] [color=#004a43; ]#[/color]include[color=#004a43; ] [/color][color=#0000e6; ]<string>[/color] [color=#004a43; ]#[/color]include[color=#004a43; ] [/color][color=#0000e6; ]<map>[/color] using namespace std[color=#800080; ];[/color] typedef map[color=#808030; ]<[/color]string[color=#808030; ],[/color]int[color=#808030; ]>[/color] ipMap[color=#800080; ];[/color] typedef ipMap[color=#808030; ]:[/color][color=#808030; ]:[/color]iterator ipMapIter[color=#800080; ];[/color] void main[color=#808030; ]([/color]void[color=#808030; ])[/color] [color=#800080; ]{[/color] const int max_items[color=#808030; ]=[/color][color=#008c00; ]20000[/color][color=#800080; ];[/color] ipMap ipTraffic[color=#800080; ];[/color] ipMapIter iter[color=#800080; ];[/color] int pos[color=#808030; ]=[/color][color=#008c00; ]0[/color][color=#800080; ];[/color] char buf[color=#808030; ][[/color][color=#008c00; ]256[/color][color=#808030; ]][/color][color=#800080; ];[/color] [color=#696969; ]// Ненавижу buffer overflows :D[/color] char proto[color=#808030; ][[/color][color=#008c00; ]6[/color][color=#808030; ]][/color][color=#800080; ];[/color] [color=#696969; ]// Ненавижу buffer overflows :D[/color] char src[color=#808030; ][[/color][color=#008c00; ]16[/color][color=#808030; ]][/color][color=#800080; ];[/color] [color=#696969; ]// Ненавижу buffer overflows :D[/color] char src_port[color=#808030; ][[/color][color=#008c00; ]16[/color][color=#808030; ]][/color][color=#800080; ];[/color] [color=#696969; ]// Ненавижу buffer overflows :D[/color] char dst[color=#808030; ][[/color][color=#008c00; ]16[/color][color=#808030; ]][/color][color=#800080; ];[/color] [color=#696969; ]// Ненавижу buffer overflows :D[/color] char dst_port[color=#808030; ][[/color][color=#008c00; ]16[/color][color=#808030; ]][/color][color=#800080; ];[/color] [color=#696969; ]// Ненавижу buffer overflows :D[/color] int sent[color=#800080; ];[/color] int [color=#008484; ]recv[/color][color=#800080; ];[/color] unsigned int ip[color=#800080; ];[/color] int ip_b1[color=#808030; ],[/color]ip_b2[color=#808030; ],[/color]ip_b3[color=#808030; ],[/color]ip_b4[color=#800080; ];[/color] FILE[color=#808030; ]*[/color] fp[color=#808030; ]=[/color]fopen[color=#808030; ]([/color][color=#0000e6; ]"03-05-any.txt"[/color][color=#808030; ],[/color][color=#0000e6; ]"r"[/color][color=#808030; ])[/color][color=#800080; ];[/color] while[color=#808030; ]([/color][color=#808030; ]![/color]feof[color=#808030; ]([/color]fp[color=#808030; ])[/color][color=#808030; ])[/color] [color=#800080; ]{[/color] fgets[color=#808030; ]([/color]buf[color=#808030; ],[/color][color=#008c00; ]254[/color][color=#808030; ],[/color]fp[color=#808030; ])[/color][color=#800080; ];[/color] [color=#696969; ]// Разберём строку[/color] fscanf[color=#808030; ]([/color]fp[color=#808030; ],[/color] [color=#0000e6; ]"[/color][color=#0f69ff; ]%s[/color][color=#0000e6; ] [/color][color=#0f69ff; ]%s[/color][color=#0000e6; ] [/color][color=#0f69ff; ]%s[/color][color=#0000e6; ] [/color][color=#0f69ff; ]%s[/color][color=#0000e6; ] [/color][color=#0f69ff; ]%s[/color][color=#0000e6; ] [/color][color=#0f69ff; ]%d[/color][color=#0000e6; ] [/color][color=#0f69ff; ]%d[/color][color=#0000e6; ]"[/color][color=#808030; ],[/color] proto[color=#808030; ],[/color] src[color=#808030; ],[/color] src_port[color=#808030; ],[/color] dst[color=#808030; ],[/color] dst_port[color=#808030; ],[/color] [color=#808030; ]&[/color]sent[color=#808030; ],[/color] [color=#808030; ]&[/color][color=#008484; ]recv[/color][color=#808030; ])[/color][color=#800080; ];[/color] if[color=#808030; ]([/color][color=#008484; ]recv[/color] [color=#808030; ]&[/color][color=#808030; ]&[/color] strstr[color=#808030; ]([/color]dst[color=#808030; ],[/color][color=#0000e6; ]"."[/color][color=#808030; ])[/color][color=#808030; ]>[/color][color=#008c00; ]0[/color][color=#808030; ])[/color] [color=#800080; ]{[/color] ipTraffic[color=#808030; ][[/color]dst[color=#808030; ]][/color] [color=#808030; ]+[/color][color=#808030; ]=[/color] [color=#008484; ]recv[/color][color=#800080; ];[/color] [color=#800080; ]}[/color] [color=#800080; ]}[/color] fclose[color=#808030; ]([/color]fp[color=#808030; ])[/color][color=#800080; ];[/color] [color=#696969; ]// В gcc map уже сортирован[/color] fp[color=#808030; ]=[/color]fopen[color=#808030; ]([/color][color=#0000e6; ]"cpp.txt"[/color][color=#808030; ],[/color][color=#0000e6; ]"w"[/color][color=#808030; ])[/color][color=#800080; ];[/color] for[color=#808030; ]([/color]int iter[color=#808030; ]=[/color]ipTraffic[color=#808030; ].[/color]begin[color=#808030; ]([/color][color=#808030; ])[/color][color=#800080; ];[/color] iter [color=#808030; ]![/color][color=#808030; ]=[/color] ipTraffic[color=#808030; ].[/color]end[color=#808030; ]([/color][color=#808030; ])[/color][color=#800080; ];[/color] iter[color=#808030; ]+[/color][color=#808030; ]+[/color][color=#808030; ])[/color] [color=#800080; ]{[/color] fprintf[color=#808030; ]([/color]fp[color=#808030; ],[/color][color=#0000e6; ]"[/color][color=#0f69ff; ]%s[/color][color=#0000e6; ]: [/color][color=#0f69ff; ]%u[/color][color=#0f69ff; ]\n[/color][color=#0000e6; ]"[/color][color=#808030; ],[/color][color=#808030; ]([/color]char [color=#808030; ]*[/color][color=#808030; ])[/color]iter[color=#808030; ].[/color]first[color=#808030; ].[/color]c_str[color=#808030; ]([/color][color=#808030; ])[/color][color=#808030; ],[/color] iter[color=#808030; ].[/color]second[color=#808030; ])[/color][color=#800080; ];[/color] [color=#800080; ]}[/color] fclose[color=#808030; ]([/color]fp[color=#808030; ])[/color][color=#800080; ];[/color] [color=#800080; ]}[/color] |
CODE |
Created with colorer-take5 library. Type 'cpp' [color=#004a43; ]#[/color]include[color=#004a43; ] [/color][color=#0000e6; ]<algorithm>[/color] sort [color=#808030; ]([/color] ipTraffic[color=#808030; ].[/color]begin[color=#808030; ]([/color][color=#808030; ])[/color][color=#808030; ],[/color] ipTraffic[color=#808030; ].[/color]end[color=#808030; ]([/color][color=#808030; ])[/color] [color=#808030; ])[/color][color=#800080; ];[/color] [color=#696969; ]// если не отсортируется можно описать mySort и подать её на вход:[/color] sort [color=#808030; ]([/color] ipTraffic[color=#808030; ].[/color]begin[color=#808030; ]([/color][color=#808030; ])[/color][color=#808030; ],[/color] ipTraffic[color=#808030; ].[/color]end[color=#808030; ]([/color][color=#808030; ])[/color][color=#808030; ],[/color] mySort [color=#808030; ])[/color][color=#800080; ];[/color] |
CODE |
Created with colorer-take5 library. Type 'cpp' for[color=#808030; ]([/color]ipMap[color=#808030; ]:[/color][color=#808030; ]:[/color]reverse_iterator iter[color=#808030; ]=[/color]ipTraffic[color=#808030; ].[/color]rend[color=#808030; ]([/color][color=#808030; ])[/color][color=#800080; ];[/color] iter [color=#808030; ]![/color][color=#808030; ]=[/color] ipTraffic[color=#808030; ].[/color]rbegin[color=#808030; ]([/color][color=#808030; ])[/color][color=#800080; ];[/color] iter[color=#808030; ]-[/color][color=#808030; ]-[/color][color=#808030; ])[/color] [color=#800080; ]{[/color] fprintf[color=#808030; ]([/color]fp[color=#808030; ],[/color][color=#0000e6; ]"[/color][color=#0f69ff; ]%s[/color][color=#0000e6; ]: [/color][color=#0f69ff; ]%u[/color][color=#0f69ff; ]\n[/color][color=#0000e6; ]"[/color][color=#808030; ],[/color][color=#808030; ]([/color]char [color=#808030; ]*[/color][color=#808030; ])[/color]iter[color=#808030; ].[/color]first[color=#808030; ].[/color]c_str[color=#808030; ]([/color][color=#808030; ])[/color][color=#808030; ],[/color] iter[color=#808030; ].[/color]second[color=#808030; ])[/color][color=#800080; ];[/color] [color=#800080; ]}[/color] |
Только тест не слишком удачный вышел. Если честно, я думал, что время обработки такого файла будет идти на минуты и у Perl/PHP и C++. Оказалось - слишком просто
Здравствуйте, гость!
Гостевой функционал сайта ограничен. Для полноценной работы зарегистрируйтесь, пожалуйста.