1. PHP / Говнокод #10871

    +54

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    foreach($Articles as $art){
    			$id = $art['id'];
    			$count++;	
    			if(isset($_GET['str'])){
    				$str = (int)$_GET['str']; 
    				$mn = $number*($str-1)+1;
    				}else{
    					$str = 1;
    					$_GET['str'] = 1;
    				}	
    			if($count == $mn){
    				$flag = true;
    				$k=5;
    			}		
    			if($flag && $k!=0){
    				$k--;
    				$title = $art['title'];
    				$content = $art['content'];
    				$author = $art['author'];
    				$date = $art['date'];
    				printf("<h1>%s</h1><br /><h3 align='left'>%s</h3>%s  <a href='index.php?id=articles&str=%s&nomer=%s'>Далее</a><hr /><br />",$title,$date, substr($content, 0,800),$nav, $id);
    					}
    		}

    Постраничная навигация

    BrdNLSrg, 10 Июня 2012

    Комментарии (113)
  2. C++ / Говнокод #10866

    −27

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    class Screen
    {
    private:
            unsigned char *data; // do not move
            size_t size; // do not move

    USB, 09 Июня 2012

    Комментарии (27)
  3. PHP / Говнокод #10864

    +141

    1. 1
    http://viois.ru/thread.txt

    Приходится признать, что это мой код...

    BiggestFox, 09 Июня 2012

    Комментарии (10)
  4. Куча / Говнокод #10862

    +140

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    Классификация говнокода:
    1. Легкий говнокод
    2. Кучка говнокода
    3. Автор думал, что самый умный
    4. Жесткое порно в коде
    5. Муть полнейшая, автор на следующий день не смог разобраться сам
    6. После прочтения единственный путь нормально поспать - сделать лоботомию.

    Сидел я и разбирал чей-то говнокод.
    Чтобы расслабить нервы, которые уже на пределе, решил написать классификацию говнокода.
    Предлагайте свои варианты.

    oooZinka, 09 Июня 2012

    Комментарии (8)
  5. Куча / Говнокод #10861

    +119

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    Func Terminate() ; Функция выключения скрипта так как он работает в бесконечном цикле
    Exit 0
    EndFunc
    HotKeySet("{ESC}", "Terminate")  ; Привязывает функцию выключения к клавиши ESC
      
    FileChangeDir ("C:Program FilesQIPUsersXXXXXXXXXHistory"); Изменяет рабочую директорию 
      
    while 1 ; Начинает бесконечный цикл работы скрипта
    $Search=FileFindFirstFile("*.txt") ; Ищет txt-файлы в рабочей директории и возвращаемое значение поиска заносим в переменную $Search
    if $Search = -1 then ; Проверяет наличие файлов по содержимому переменной
    Sleep(1000) ; Если файлов не найдено, ждет секунду и запускает цикл сначала
    else ; Если найден txt-файл, то...
    $File=FileFindNextFile($Search) ; Заносит название файла в перменную $File
    $Log=FileRead ($File) ; Заносит содержимое файла в переменную $log
    $Log=StringSplit ($Log, @LF) ; Так как в QIP'е одно сообщение состоит из трех строк (пометка сообщения как входящее или исходящее, имя автора/дата/время отправки сообщения и само сообщение), то делает из переменной массив, в котором каждый элемент равен одной строке
    $Mess=$log[3] ; Само сообщение заносит в переменную $Mess
    FileDelete($File) ; Удаляет файл истории
    MsgBox ("0","", $Mess, 1) ; На секунду выводит на экран сообщение с командой, которую скрипт будет сейчас выполнять - это реализовано для отладки
    WinActivate ('[REGEXPCLASS:(?i){97E27FAA-C0B3-4b8e-A693-ED7881E99FC1}]') ; Делает активным окно Foobar'a, реализовал посредством обращения к классу, так как заголовок плеера меняется в зависимости от исполняемой композиции
    WinWaitActive ('[REGEXPCLASS:(?i){97E27FAA-C0B3-4b8e-A693-ED7881E99FC1}]') ; Ждет когда окно Foobar'a станет активным
      
    $Check=StringInStr($Mess, "local") ; Проверяет вхождение слова "local" в текст сообщения
    if $Check=1 then ; Если "local" находится в начале сообщения, то...
    Send("^f") ; Отправляет нажатие сочетания клавиш CTRL+F

    delay(500); //Ждет
    if ( q == 1 ) { //Сравнивает
    q += 2; } //Прибавляет

    Взято отсюда: habrahabr.ru/post/145550/

    ReckO, 09 Июня 2012

    Комментарии (19)
  6. PHP / Говнокод #10856

    +63

    1. 1
    2. 2
    $ToName = "$user_iname";
    $ToEmail = "$user_email";

    Кавычки-то зачем?

    domaster, 09 Июня 2012

    Комментарии (9)
  7. PHP / Говнокод #10854

    +52

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    header( 'Content-Type: text/html; charset=utf-8' );
    
    $year  = date( 'Y' );
    
    $months = array( 1 => 'Январь', 'Фервраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь' );
    
    $infoYear = getdate( mktime( 0, 0, 0, 1, 1, $year, 0 ) );
    
    $weekDay = $infoYear['wday'] == 0 ? 7 : $infoYear['wday']; // wday - номер дня недели. 0 - Воскресение. Делаем воскресение седьмым днем.
    
    echo "<h2>$year</h2>";
    
    for ( $month = 1; $month <= 12; $month++ ) {
    	echo '<div style="float: left; padding: 2px;"><b>' . $months[$month] . '</b>';
    	echo '<table border="1">';
    	echo '<th>Пн</th><th>Вт</th><th>Ср</th><th>Чт</th><th>Пт</th><th>Сб</th><th>Вс</th>';
    	echo '<tr>';
    	
    	for ( $day = 1; $day < 31; $day++ ) {
    		
    		if ( checkdate($month, $day, $year) ) {
    			
    			if ( $day == 1 )
    				for ( $i = 1; $i < $weekDay; $i++ )
    					echo '<td> </td>';
    			
    			printf( '<td>%02d</td>', $day );
    			
    			$weekDay++;
    			if ( $weekDay > 7 ) {
    				$weekDay = 1;
    				echo '</tr><tr>';
    			}
    		}
    	}
    	
    	echo '</tr></table></div>';
    }

    Задача: Вывести календарь, для установки нужных дат админом и сохранить их в БД.
    Остается отрефракторить и добавить checkbox'ы.

    psycho-coder, 09 Июня 2012

    Комментарии (27)
  8. C# / Говнокод #10823

    +104

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    using (var s = _session.OpenSession())
    	using (var tr = s.BeginTransaction())
    	{
    		if (!s.IsConnected)
    		{
    			s.SaveOrUpdate(factor);
    			tr.Commit();
    			s.Close();
    			return true;
    		}
    		else
    		{
    			s.Close();
    			return false;
    		}
    	}

    Maps, 09 Июня 2012

    Комментарии (8)
  9. Pascal / Говнокод #10822

    +90

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    function Vincenty(Lat1, Lon1, Lat2, Lon2: Extended): Extended;
    const  // Параметры эллипсоида:
    a = 6378245.0;
    f = 1 / 298.3;
    b = (1 - f) * a;
    EPS = 0.5E-30;
    var
    APARAM, BPARAM, CPARAM, OMEGA, TanU1, TanU2,
    Lambda, LambdaPrev, SinL, CosL, USQR, U1, U2,
    SinU1, CosU1, SinU2, CosU2, SinSQSigma, CosSigma,
    TanSigma, Sigma, SinAlpha, Cos2SigmaM, DSigma : Extended;
    begin
    lon1 := lon1 * (PI / 180); 
    lat1 := lat1 * (PI / 180);
    lon2 := lon2 * (PI / 180); 
    lat2 := lat2 * (PI / 180); //Пересчет значений координат в радианы
    
    TanU1 := (1 - f) * Tan(lat1); 
    TanU2 := (1 - f) * Tan(lat2);
    U1 := ArcTan(TanU1);  
    U2 := ArcTan(TanU2);
    SinCos(U1, SinU1, CosU1); 
    SinCos(U2, SinU2, CosU2);
    OMEGA := lon2 - lon1; 
    lambda := OMEGA;
    
    repeat //Начало цикла итерации
    
    LambdaPrev:= lambda;
    SinCos(lambda, SinL, CosL);
    SinSQSigma := (CosU2 * SinL * CosU2 * SinL) +
      (CosU1 * SinU2 - SinU1 * CosU2 * CosL) *
      (CosU1 * SinU2 - SinU1 * CosU2 * CosL);
    
    CosSigma := SinU1 * SinU2 + CosU1 * CosU2 * CosL;
    TanSigma:= Sqrt(SinSQSigma) / CosSigma;
    
    if TanSigma > 0  then Sigma := ArcTan(TanSigma)
      else Sigma := ArcTan(TanSigma) + Pi;
    
    if SinSQSigma = 0  then SinAlpha := 0
       else SinAlpha := CosU1 * CosU2 * SinL / Sqrt(SinSQSigma);
    
    if (Cos(ArcSin(SinAlpha)) * Cos(ArcSin(SinAlpha))) = 0  then Cos2SigmaM := 0
      else Cos2SigmaM:= CosSigma - (2 * SinU1 * SinU2 / (Cos(ArcSin(SinAlpha)) * Cos(ArcSin(SinAlpha))));
    
    CPARAM:= (f / 16) * Cos(ArcSin(SinAlpha)) * Cos(ArcSin(SinAlpha)) *
      (4 + f * (4 - 3 * Cos(ArcSin(SinAlpha)) * Cos(ArcSin(SinAlpha))));
    
    lambda := OMEGA + (1 - CPARAM) * f * SinAlpha * (ArcCos(CosSigma) +
      CPARAM * Sin(ArcCos(CosSigma)) * (Cos2SigmaM + CPARAM * CosSigma *
      (-1 + 2 * Cos2SigmaM * Cos2SigmaM)));
    
    until Abs(lambda - LambdaPrev) < EPS; // Конец цикла итерации
    
    USQR:= Cos(ArcSin(SinAlpha)) * Cos(ArcSin(SinAlpha)) *(a * a - b * b) / (b * b);
    APARAM := 1 + (USQR / 16384) * (4096 + USQR * (-768 + USQR * (320 - 175 * USQR)));
    
    BPARAM := (USQR / 1024) * (256 + USQR * (-128 + USQR * (74 - 47 * USQR)));
    DSigma := BPARAM * SQRT(SinSQSigma) * (Cos2SigmaM + BPARAM / 4 *
    (CosSigma * (-1 + 2 * Cos2SigmaM * Cos2SigmaM) - BPARAM / 6 * Cos2SigmaM *
    (-3 + 4 * SinSQSigma) * (-3 + 4 * Cos2SigmaM * Cos2SigmaM)));
    
    Result := b * APARAM * (Sigma - DSigma);
    end; 
    
    { ©Drkb::04255 }

    Алгоритм расчёта километража между двумя точками на земной поверхности методом Винсенти, найден в drkb3.0. Там же весь этот ГК уместился в одной строчке:

    distance=sqrt(pow((lon1 - lon2)*111*COS(lat2/57.295781), 2) + pow((lat1) - lat)*111, 2));

    , чудноо... :)

    Alegun, 09 Июня 2012

    Комментарии (17)
  10. C++ / Говнокод #10760

    −42

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    #include <iostream>
    
    using namespace std;
    int main()
     {
    for(int i = 0x1; 0x1 <= i; i++)
     {
    int a = 0x5;
    int b = 0xa;
     cin >> i;
    if(b || a)
     {
     a += 0x5;
     cout << "\n ";
     cout << "первое условие: ";
     cout << "\n ";
     cout << "переменная a = " << a;
     cout << "\n ";
     cout << "переменная b = " << --b + 0x5 - 0x9;
     cout << "\n";
    goto var;
     }
    else
     {
     var:
     cout << "\n ";
    cout << "второе условие: ";
     a = (0xa - 0x5);
     cout << "\n ";
     cout << "переменная a = " << a;
     cout << "\n ";
     cout << "переменная b = " << ++b;
     cout << "\n";
     }
    break;
     }
    
     system("pause");
    return 0;
     }

    Попросил чела решить классическую задачку - обменять значениями две переменные, не используя третьей

    telhar, 08 Июня 2012

    Комментарии (52)