Кресты / Говнокод #24633 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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
  68. 68
  69. 69
  70. 70
  71. 71
  72. 72
  73. 73
  74. 74
  75. 75
  76. 76
  77. 77
  78. 78
  79. 79
  80. 80
  81. 81
  82. 82
  83. 83
/*
	Программа для генерации и вывода разряженной матрицы
	Специально для сайта govnokod.ru
*/
#include <iostream>
#include <cstdlib>
#include <ctime>

// Объявление переменных
const int first_index_size=20;
const int second_index_size=50;
char matrix_array[first_index_size][second_index_size];

enum border_style{
	line,single 
};

void borders(border_style matrix_border)
{
	switch(matrix_border)
	{
		case 0:
			for(int i=0; i<(second_index_size+2); i++)
				std::cout<<"#";
			std::cout<<"\n";
			break;
		case 1:
			std::cout<<"#";
	}
}

void rand_func_init()
{
	// Инициализация функции rand()
	srand(time(0));
	rand();
}

void matrix_init_zero()
{
	// Инициализация матрицы нулём	
	for(int i=0; i<first_index_size; i++)
		for(int t=0; t<second_index_size; t++)
			matrix_array[i][t]=0;
}

void matrix_init_rand()
{
	// Заполнение матрицы
	for(int i=0; i<first_index_size; i++)
	{
		int init_num=rand()%11;
		while(init_num)
		{
			init_num--;
			matrix_array[i][rand()%50]=149;
		}
	}
}

void matrix_print()
{
	// Вывод матрицы	
	borders(line);
	for(int i=0; i<first_index_size; i++)
	{
		borders(single);
		for(int t=0; t<second_index_size; t++)	
			std::cout<<matrix_array[i][t];
		borders(single);
		std::cout<<"\n";
	}
	borders(line);
}

int main()
{
	rand_func_init();
	matrix_init_zero();
	matrix_init_rand();
	matrix_print();
	return 0;
}

Разряженная матрица 20x50.
Количество ненулевых значений от 0 до 10.

Запостил: BelCodeMonkey BelCodeMonkey, (Updated )

Комментарии (95) RSS

  • > char matrix_array[first_index_size][second_index_size];
    > // Инициализация матрицы нулём
    Чому не пробелом?
    Ответить
    • Мой промах. Ещё в 56 строке промахнулся, вместо 50 должно быть second_index_size
      Ответить
  • Здравствуйте. Как Вы узнали про сайт "govnokod.ru"?
    Ответить
  • > std::cout<<"#";
    Чья ты файка? Школьник/студент написал бы "усинг намеспаце стд".
    Ответить
    • Давно отучил себя так писать код, ещё когда начал работать с несколькими пространствами имён.
      Ответить
  • Разряженную матрицу разве не в картах или списках хранят?
    Ответить
    • А зачем её вообще хранить? Разрядилась – возьми другую, а эту перезаряди.
      Ответить
    • Разреженную матрицу удобно хранить в двумерном массиве. Не важно сколько у тебя там данных: матрица всегда занимает пару гигабайт:)
      Ответить
  • То ли дело J:
    clockCounter =: 6!:9
    
    setSeed =: 9!:1
    
    setBoxCharacters =: 9!:7
    
    print =: echo@<
    
    setSeed >.(2^31)|clockCounter''
    
    matrix =: ' *' {~ ? 20 50 $ 2
    
    setBoxCharacters 11 # '#'
    
    print matrix
    
    
    NB. Короткий вореант:
    
    9!:1 >.(2^31)|6!:9''
    (9!:7)11#'#'
    echo<' *'{~?20 50$2
    
    
       NB. А ешё в J есть специальный тип для разреженных мосивов:
       ]a =: ?3 3$2
    0 0 0
    0 1 1
    0 0 1
       NB. вот он:
       ]b =: $.a
    1 1 │ 1
    1 2 │ 1
    2 2 │ 1
       NB. и обратно:
       $.^:_1 b
    0 0 0
    0 1 1
    0 0 1
    Спасибо, я кончел.
    Ответить
    • > Количество ненулевых значений от 0 до 10.
      Упс, не учёл. Тогда так:
      9!:1 >.(2^31)|6!:9''
      (9!:7)11#'#'
      echo<' *'{~20 50$(A.~?@!@x:@#)(?11)>i.20*50
      Ответить
      • Нихуя не понятно. Переведи на "PHP".
        Ответить
      • J:
        Real time: 0.055 s
        User time: 0.037 s
        Sys. time: 0.017 s
        CPU share: 97.48 %
        Exit code: 0

        C++:
        Real time: 0.555 s
        User time: 0.464 s
        Sys. time: 0.083 s
        CPU share: 98.60 %
        Exit code: 0
        Ответить
          • Перепесал на Си:
            #include <stdio.h>
            #include <stdlib.h>
            #include <time.h>
            
            char *horline = "####################################################";
            
            int main() {
            	srand(time(0));
            	puts(horline);
            	int n = rand() % 11;
            	for (int i = 0; i < 20; ++i) {
            		putchar('#');
            		for (int j = 0; j < 50; ++j) {
            		    if (n && !(rand()%100)) {
            		        putchar('*');
            		        --n;
            		    } else {
            		        putchar(' ');
            		    }
            		}
            		puts("#");
            	}
            	puts(horline);
            	return 0;
            }


            Real time: 0.113 s
            User time: 0.078 s
            Sys. time: 0.033 s
            CPU share: 98.26 %
            Exit code: 0

            https://tio.run/##nVBNb4MwDD03v8IDtQ2tmKDSTrT7LwzSYZSaKQmnKb@d2rC2qrbTfLHynt@H0uSNrelzmlSK1NixNXD0ocXhtXt/hix@PGMBL0YQ1XS1g103OItk4ARJ@o9JKqWQAlxqJJ3Bt1p5V1OrJUUXWVap1dcYvP6JkbecE@fNdxmsoSwZPQ8OtFDIVFHxOsKB936Ps63YSGO9Tbfi8hD0i6Bnwdss6BcB8OAZNMFmAy96iVuXBbe68zJ3491ifMPznG7PCMZ687cKHqrIOy5VvU7SRIj4@wOcCaMj7qziNF0B

            Надеюсь, tio.run не считает время конпеляции?
            Ответить
            • Надо гцц сидела на лице юзать.
              Оптимизнул:
              #include <stdio.h>
              #include <stdlib.h>
              #include <time.h>
              #include <string.h>
              
              char s[22*53+1],
                   *horline = "####################################################\n";
              
              
              int main() {
              	srand(time(0));
              	int n = rand() % 11;
              	strcpy(s, horline);
              	for (int i = 53; i < 21*53+1; ++i) {
              	    switch (i % 53) {
              	    	case 0:
              	    	case 51:
              	    	    s[i] = '#';
              	    	    break;
              	    	case 52:
              	    	    s[i] = '\n';
              	    	    break;
              	    	default:
              	    	    if (n && !(rand() % 100))  {
              	    	    	s[i] = '*';
              	    	    	--n;
              	    	    } else {
              	    	    	s[i] = ' ';
              	    	    }
              	    }
              	}
              	strcpy(s+21*53+1, horline);
              	puts(s);
              	return 0;
              }
              И всё равно не догнал:
              https://tio.run/##nVDLboMwEDzjr9gmamIgqXiIS532R5IciDFhVWIi26iqKr6d2igPqNJL9@D1jmd2x8vXR877nsxR8rotBGy0KbB5qd6nUI2HKWbwJH6zFMqjwwivcgV6myRBlobxfkXARVA1qkYp4A1m83/ETs4YIQSlgVOOkvrwTTytcllQ54ZGvs@I556lHTHgPjxDHFvUmuPnL6pXcDHhqGWjgDo@Wn6WMps3kMSDaQZhiMMEZ11/ouGVJdt@WXqDPZ5rAdHruMriazkIt7i3zZfzJRuhByXyDzZRJY9UO/m3rBBl3tZmLMMSqITFAp7o/feRXQvcDA/HtX0w6e6t13JcdyBq6@yhEibKjlxTd990eFnkZOPn1miq3U0J0yoJESNd3/8A
              Ответить
              • > 0.055 s
                > 0.063 s
                > И всё равно не догнал
                Что это за питушня? Какая там ПОГРЕШНОСТЬ, чтобы решать, догнал или не догнал?
                Ответить
                • Ну так зопусти нескока раз и увидишь.

                  Посчитаем среднее:
                  NB. у J:
                  (+/ % #) 0.055 0.063 0.062 0.058 0.055 0.055 0.062 0.061 0.057 0.055
                  0.0583
                  
                  NB. и у сей:
                     (+/ % #) 0.063 0.079 0.071 0.069 0.073 0.068 0.071 0.062 0.078 0.084
                  0.0718
                  Ответить
                • Да и хер с ним. Надоело каждый день искать прокси, чтобы посмотреть ваши ссылки. Из-за этого пизоблядского мудохуевыебанного Телеграма заблокировали половину айпишников и до сих пор не снимают блокировку. Когда разблокируют, тогда и перестану повторяться.
                  Ответить
                    • Shut your fucking face, uncle fucker!
                      You're a cocksucking ass-licking uncle fucker!
                      You're an uncle fucker, yes, it's true!
                      Nobody fucks uncles, quite like you!

                      Shut your fucking face, uncle fucker!
                      You're the one who fucks your uncle, uncle fucker!
                      You don't eat or sleep or mow the lawn,
                      just fuck your uncle - all day long!

                      Shut your fucking face, uncle fucker!
                      You're a boner-biting bastard, uncle fucker!
                      You're an uncle fucker, I must say!
                      You fucked your uncle yesterday!
                      Ответить
                    • Почему я должен устанавливать какое-то стороннее ПО для задачи, которая должна решаться без него? Почему я должен использовать MITM для доступа к ресурсам, которые не запрещены?
                      Ответить
                      • Потому что ты живешь в недостране где нет понятия "возмещение ущерба". Смирись.
                        Ответить
                      • Надо было пожаловаться нашему перманенту когда была "прямая линия", а сейчас она ломаная и придётся ждать когда она опять выпрямится.
                        Ответить
                          • Я сам, собственно, начал пользоваться после начала блокировки.

                            И, кстати, перешёл на другого провайдера - у него ГК не забанен.
                            Ответить
                        • кстати, gcode.cx отлично работает
                          а для оригинального ГК пришлось маршрут через впн делать
                          Ответить
                          • Я боюсь переходить по ссылке g***e.cx. Там точно safe for work?
                            Ответить
                          • > работает
                            Тупо везение. Могло и эту подсетку накрыть.

                            З.Ы. Интересно, страйко не будет писать в спортлото чтобы его сайт разбанили?
                            Ответить
                              • Какая разница между твитом и статусом? Где весь список статусов?
                                Ответить
                                • В Твиттере всё состоит из твитов. Даже личка из специфических твитов. Правда, недавно добавили закреплённые твиты (можно закрепить только один) и моменты (коллекции твитов).
                                  Ответить
                                        • Да, статус — это твит.

                                          Я показывал (от анонов сейчас эта ссылка скрыта):
                                          https://twitter.com/govnokod/with_replies


                                          Можно ещё так (а так видно и анонам):
                                          https://twitter.com/search?f=tweets&q=from%3Agovnokod

                                          Ответов на этот твит нет. Да вообще говнокодовскому аккаунту редко пишут:
                                          https://twitter.com/search?f=tweets&q=to%3Agovnokod

                                          И РКН в Твитторе никому не отвечает:
                                          https://twitter.com/search?f=tweets&q=from%3Aroscomnadzor

                                          Их можно хоть хуями обкладывать, всё равно не заметят.
                                          Ответить
                                          • P.S. Если на какой-то твит есть ответы, чтобы их посмотреть, щёлкай на дату (сразу после юзернейма в шапке).
                                            Ответить
                                          • >(от анонов сейчас эта ссылка скрыта):
                                            > (а так видно и анонам):
                                            Нахуя? Потому что можем? Это как на пейсбуке и телеграфе посты по ссылке видны, а список постов - нет.

                                            Так что это за твит такой, что в обычном списке его нет?

                                            Госорганизация и не должна в твиторе отвечать. Должна быть официальная процедура опротестования/жалобы.
                                            Ответить
                                            • Твиттер периодически скрывает некоторые вещи от анонов. Сейчас он скрывает от анонов полный список твитов («корневые» твиты в списке показывает, а ответы — нет). Просто потому что может.

                                              Но как я уже написал, если ввести в поиск "from:govnokod", он покажет все твиты от @govnokod, включая ответы и упоминания других юзеров.

                                              *****

                                              Да, у госорганизации есть официальная процедура. Страйкер уже написал, что e-mail до них не доходят. Вероятно, придётся отправлять заявление бумажной почтой.
                                              Ответить
                                              • А email - это официальная процедура? Оно имеет юридическую силу? Тогда надо жалобу писать, ну в нормальной стране.
                                                Ответить
                                                • У них есть общественная электронная приёмная:
                                                  https://rkn.gov.ru/treatments/ask-question/

                                                  Но это просто чтобы задать вопрос. А как писать официальное заявление, пока не знаю. Нужно покопаться в документах.
                                                  Ответить
                                                  • P.S. Выбираю в электронной приёмной:
                                                    • Сайты в сети «Интернет»
                                                    • Разблокировка интернет-ресурсов, исключение из Реестров.

                                                    Вместо формы для ввода текста получаю:

                                                    Уважаемый посетитель!

                                                    В целях оперативной обработки вашей информации рекомендуем направлять заявки по адресу электронной почты: zapret-info@rkn.gov.ru
                                                    Ответить
                                                  • В письменном виде должно работать в любом случае, у нас еще есть факс. Правда, тогда, получатся, админ должен раскрыть свою личность?
                                                    Ответить
                                                    • При обращении в электронном виде официально тоже должен. Если не указал свои Ф. И. О., они вправе не рассматривать обращение.
                                                      Ответить
                                                  • Статистические данные
                                                    к отчету Федеральной службы по надзору в сфере связи, информационных технологий и массовых коммуникаций о работе с обращениями граждан во II квартале 2018 года

                                                    1 Поступило обращений, всего 7 048
                                                    Из них:
                                                    1.1 Жалобы на гос.услуги 10
                                                    1.2 Обращения по коррупции 1
                                                    1.3 Обращения по основной деятельности 7 037

                                                    2 Тип доставки:
                                                    2.1 По электронной почте 897
                                                    2.2 С официального сайта Роскомнадзора 2 768
                                                    2.3 Устные обращения («горячие», «прямые» телефонные линии) 29
                                                    2.4 Нарочным 825
                                                    2.5 Почтовое отправление 1 142
                                                    2.6 МЭДО 949
                                                    2.7 Фельдсвязь 117
                                                    2.8 Портал госуслуг 37
                                                    2.9 Курьер 284
                                                    Ответить
                                                    • По результатам рассмотрения обращений граждан в Роскомнадзоре вынесены решения:
                                                      - Поддержаны – 289;
                                                      - Не поддержаны – 62;
                                                      - Разъяснено - 4 235;
                                                      - Перенаправлено по принадлежности – 1 077;
                                                      - Перенаправлено в ТО Роскомнадзора – 1 214;
                                                      - Отозвано гражданами – 5;
                                                      - Находятся на рассмотрении – 166.
                                                      Ответить
                                              • Но почему не показывается этот твит? Это ответ?
                                                Ответить
                                                • Поскольку он начинается с упоминания юзернейма ( @roscomnadzor в данном случае), Твиттер его считает ответом (в англоязычной терминологии “reply” или “mention”), даже несмотря на то, что в метаданных нет твита, на который якобы отвечал Страйкер. Такие твиты (реплаи) не показываются в основном списке, чтобы не засорять пространство болтовнёй, не относящейся ко всем. Однако, поскольку это не личка, по прямой ссылке или через поиск его видно.
                                                  Ответить
                                                  • В свиторе еще и личка есть? Вот что значит всей этой хуетой не пользоваться. Зачем он вообще нужен? У меня есть только акк вконтакте и то для участия в срачах.
                                                    Ответить
                                                    • Микроблог ВК («Дуров, верни стену!») — это в некотором смысле пародия на свитор (только без глупого ограничения на длину сообщения). Получается что-то свитор — это что-то вроде стенки, отпиленной от соцсети.

                                                      Для чего нужен свитор? В нём есть кнопка «Ретвит», помогающая быстро распространять новости. Обычно свитор используют, чтобы делиться ссылками на полные тексты статей. Ещё его используют вместо RSS (некоторые сайты заливают свою ленту новостей в свитор).
                                                      Ответить

Добавить комментарий

Помни, guest, за тобой могут следить!

    А не использовать ли нам bbcode?


    8