Быстрые матричные сложения в C++
В одном проекте на С++ мне понадобилось два типа матриц: разреженные и заполненные. Комментарии (2)
Вывод std::vector и std::list
Иногда хочется иметь возможность вывести содержимое std::vector или std::list в поток, что бы посмотреть что находится внутри. Это может понадобится например при отладке программы. Для этого я написал небольшой класс. С помощью него можно вывести любой std массив или список в поток. cout << "Vector:" << my_vector << endl; Вывод: Vector:{0, 1, 2, ... <96> ... , 99}Если нужно вывести определённое количество элементов, то перед выводом массива следует написать show(int). Приведённый ниже код выведет первые 100 элементов: cout << "Vector:" << show(100) << vec << endl; Если нужно вывести весь массив, то нужно указать show(-1). std::stringstream os; os << "List:" << show(-1) << my_list << endl; Скачать данный код можно тут: Debug.h #ifdef в PHP
В своем проекте мне понадобилось собирать различные версии исходников. Причём так что бы в различных сборках помещались различные куски кода. if-else мне здесь не подходил, потому что нужно было что бы код либо точно входил, либо не входил в сборку. Новые принт-скрины ElfChat 5
Всем привет! Работа над новым ElfChat 5 постепенно продолжается. Вот парочка новых принт-скринов пятёрки. Главная страница панели управления: Создание PHP-AJAX чата
Приветствую! Необходимые знания:
Итак начнём! О новом ElfChat 5
Привет всем! Начну сразу с нового скрина чата: Многое в ElfChat 5 уже сделано, однако многое остаётся ещё недоделанным. Так что вероятнее выйдет он только в начале следующего года. Плагин jQuery.Matrix
Простой плагин создания эффекта матрицы для текста. jQuery.fn.matrix = function (options) { var options = jQuery.extend({ mask: "QWERTYUIOPASDFGHJKLZXCVBNMЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮЁ", speed: 100 }, options); var iteration = function (obj, i, char, n) { var char_obj = obj.find('#char'+i); if(n < 0) { var rand = Math.ceil(options.mask.length*Math.random()) - 1; // random between 0 - options.mask.length char_obj.text(options.mask[rand]); setTimeout(function () { iteration(obj, i, char, n - 1); }, options.speed); } else { char_obj.text(char); } }; return this.each(function () { var obj = jQuery(this); var text = obj.text(); var text_length = text.length; var array = new Array(text_length); for(var i = 0; i < text_length; i++) { if(text.charAt(i) != ' ' && text.charAt(i) != '\n') { array[i] = '<span id="char' + i + '">' + text.charAt(i) + '</span>'; } else { array[i] = text.charAt(i); } } obj.html('<pre>' + array.join('') + '</p' + 're>'); for(var i = 0; i < text_length; i++) { if(text.charAt(i) != ' ' && text.charAt(i) != '\n') { var rand = Math.ceil(100*Math.random()); // random between 1 - 100 var time = (1 + 5 * rand / 100) * 1000; // time in milisec var repeat = Math.round( time / options.speed ); iteration(obj, i, text.charAt(i), repeat); } } }); }; |
|
наверх