Skip to content

Instantly share code, notes, and snippets.

@Huholoman
Huholoman / gist:0558cfbab0c3ad295be0
Created October 29, 2014 18:16
CVUT FIT 2014/15 - 02. MHD
Úkolem je realizovat program, který pomůže optimalizovat hledání návaznosti MHD.
Jistě všichni známe problémy, když musíme přestupovat na jiný spoj MHD. Přijedeme na přestupní zastávku a zjistíme, že požadovaný navazující spoj odjel před pár minutami. Jak by byla krásná opačná situace, tedy přijet na přestupní zastávku, kde by navazující spoj odjížděl za pár minut. Náš program dokáže optimalizovat takové přestupy, tedy bude hledat, kdy se vyplatí vyrazit, abychom přestup zvládli bez zbytečného čekání.
Ve zjednodušeném výpočtu uvažujeme, že přijíždíme spojem #1. Tento spoj má pravidelné intervaly (zadané jako počet hodin a minut). Na přestupní stanici chceme odjet spojem #2, který má rovněž daný svůj interval (hodiny a minuty). Pro jednoduchost předpokládáme, že tento interval je stále stejný (spoje jezdí stejně často ve dne i v noci, zcela přesně ve svém intervalu). Předpokládejme, že spojem #1 přijedeme na přestupní stanici, kde zjistíme, že požadovaný spoj #2 odjel před zadaným počtem hodin a minut. Progr
@Huholoman
Huholoman / gist:1de5114ae69b6f1ce6dc
Created October 29, 2014 18:31
CVUT FIT 2014/15 - 02. MHD
Úkolem je realizovat program, který pomůže optimalizovat hledání návaznosti MHD.
Jistě všichni známe problémy, když musíme přestupovat na jiný spoj MHD. Přijedeme na přestupní zastávku a zjistíme, že požadovaný navazující spoj odjel před pár minutami. Jak by byla krásná opačná situace, tedy přijet na přestupní zastávku, kde by navazující spoj odjížděl za pár minut. Náš program dokáže optimalizovat takové přestupy, tedy bude hledat, kdy se vyplatí vyrazit, abychom přestup zvládli bez zbytečného čekání.
Ve zjednodušeném výpočtu uvažujeme, že přijíždíme spojem #1. Tento spoj má pravidelné intervaly (zadané jako počet hodin a minut). Na přestupní stanici chceme odjet spojem #2, který má rovněž daný svůj interval (hodiny a minuty). Pro jednoduchost předpokládáme, že tento interval je stále stejný (spoje jezdí stejně často ve dne i v noci, zcela přesně ve svém intervalu). Předpokládejme, že spojem #1 přijedeme na přestupní stanici, kde zjistíme, že požadovaný spoj #2 odjel před zadaným počtem hodin a minut. Progr
Úkolem je vytvořit C/C++ funkce, které dokáží překódovat soubor v kódování UTF8 do Fibonacciho kódu a zpět.
Znaky ukládáme jako čísla - indexy do tabulky kódů, dnes nejčastěji UNICODE. Znaků je v UNICODE mnoho - 1048576+65536. Pokud by byly ukládané přímo jako binární čísla, byly by potřeba na reprezentaci jednoho znaku vždy 4 bajty. Většina znaků ale má kódy nižší, např. hodnoty menší než 128 (65536). Toho využívá kódování UTF-8, které podle zapisované hodnoty znak ukládá pomocí 1 až 4 bajtů.
Kódování UTF-8 pro běžné textové soubory snižuje celkový objem ukládaných dat, není ale optimální. Při návrhu kódování UTF-8 byl zvolen způsob, kdy kódy jednotlivých znaků vždy končí na hranici celého bajtu. To je praktické pro rychlé načítání, ale není to optimální z hlediska délky.
Pro paměťově efektivní ukládání celých čísel byly vyvinuté jiné kódy, např. kód Fibonacciho, který je založen na Fibonacciho posloupnosti. Připomeňme, že Fibonacciho posloupnost je posloupnost celých čísel, kde každé další číslo posloupn
#ifndef __PROGTEST__
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <iostream>
#include <fstream>
#include <stdint.h>
using namespace std;
#endif /* __PROGTEST__ */
import QtQuick 2.0
import Sailfish.Silica 1.0
Page {
id: page
property alias currentIndex: listView.currentIndex
property alias model: listView.model
SilicaFlickable {
import QtQuick 2.0
import Sailfish.Silica 1.0
Page {
id: imagePage
property alias currentIndex: listView.currentIndex
property alias model: listView.model
Drawer {
id: drawer
import QtQuick 2.0
import Sailfish.Silica 1.0
Page {
id: imagePage
property alias currentIndex: listView.currentIndex
property alias model: listView.model
Drawer {
id: drawer
<!DOCTYPE html>
<html>
<style>
#container {
width: 300px;
height: 300px;
margin: 0px auto;
SELECT *
FROM e21
INNER JOIN (
SELECT GROUP_CONCAT(discount_amount) AS discount_amount,
GROUP_CONCAT(discount_type) AS discount_type,
discount_business_id,
discount_subcategory_id,
discount_evidence_number
FROM e21sle GROUP BY discount_business_id
) MAXD ON (business_id=MAXD.discount_business_id)
class SomeControl
{
public onSomeEvent = null;
private function onFormSuccess()
{
if(isCallable($this->onSomeEvent)) {
$this->onSomeEvent();
}
}