Anonymní profil gna – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil gna – Programujte.comAnonymní profil gna – Programujte.com

 

Příspěvky odeslané z IP adresy 213.211.51.–

gna
Python › Výběr největšího atributu
před 8 hodinami   #219016

Podle dokumentace asi tak, že je všechny projdeš a najdeš ten největší.

gna
C / C++ › void*
15. 12. 2017   #218998

Načítáš data do toho pole in. Do fronty vkládáš ukazatel na to pole. Takže všechny položky fronty jsou stejný ukazatel na to pole. A v něm je to, co jsi do něj naposledy načetl.

Můžeš vytvořit kopii, kterou budeš vkládat do té fronty -- strdup(in). A po vytažení ji uvolníš -- free(x).

gna
Webové servery (Apache, IIS...), .htaccess › ssh funguje ale scp nie
15. 12. 2017   #218991

"Next authentication method: password" a tu som skoncil..

Jak skončil? Nevyzve tě to k zadání hesla, žádný další výpis při -v, prostě nic?

heslo, ktore nieekdy pyta

Jen někdy? Tak nějak náhodně?

prihlasenie nefunguje

A to se projevuje jak? Zase žádný další výpis?

filezila mi neumoznuje posielat ako root, resp. prihlasit sa ako root

Přihlašuješ se jako 'meno' a ne 'root'. Je běžné, že se nemůžeš přihlásit rovnou jako root. Takže to třeba zkopíruješ k sobě a pak přesuneš jako root.

gna
C / C++ › void*
13. 12. 2017   #218967

Aha, to je přesně ono. V implementaci té fronty nepotřebuješ vědět, co tam dáváš, ale zvenku při jejím použítí to víš a není problém ty ukazatele přetypovat.

char *help = malloc(30);
scanf("%29s", help);
if (!push_to_queue(fronta, (void*)help))
	chyba;
char *xx;
if (!pop_from_queue(fronta, (void**)&xx))
	chyba;
printf("%s\n", xx);

Podle toho, jaký používáš překladač by to mohlo fungovat i bez toho explicitního přetypování.

gna
C / C++ › void*
13. 12. 2017   #218965

Jestli to máš takhle, tak je to jen definice proměnné, která není inicializovaná, takže je to 0, nebo "náhodná" hodnota/adresa. S tím nejde rozumně pracovat.

scanf načítá data ze standardního vstupu. První parametr určuje formát dat a další parametry určují, kam se mají data uložit. Když píšeš, že s ním neděláš žádné operace, tak proč se do něj pokoušíš ukládat?

Skutečný typ buď vždycky znáš, nebo ho nepotřebuješ znát. Ukaž přesně s čím pracuješ, takhle nejde poradit.

gna
PHP › htaccess všetky varianty url
12. 12. 2017   #218935
gna
PHP › htaccess všetky varianty url
11. 12. 2017   #218921

Takže za clanok chceš mít id a za clanky ne a pak nepovinná lomítka na konci?

RewriteRule ^clanok/(\d+)*/?$ /index.php?p=clanok&id=$1
RewriteRule ^clanky/?$ /index.php?p=clanky

* = 0 nebo více opakování
+ = 1 nebo více opakování
? = 0 nebo 1 opakování

gna
Číslicová technika › Pevná rádová čiarka
8. 12. 2017   #218891

#5 Martin

Tak si to nakresli. Ano, pokud to číslo jednoduše rozdělíš, tak ho můžeš jednoduše násobit celočíselně, jen pak musíš výsledek ještě posunout do správných řádů. V desítkové soustavě se dvěmi číslicemi na celou a zlomkovou část to vypadá takhle: 

// hodnoty v závorkách se "ztratí"
// nadbytečné číslice jsou jen na to, aby to bylo lépe vidět
00.02 * 00.02 => 0002 * 0002 = 0000004 => (0)00.00(04)
00.20 * 00.20 => 0020 * 0020 = 0000400 => (0)00.04(00)
02.00 * 02.00 => 0200 * 0200 = 0040000 => (0)04.00(00)
20.00 * 20.00 => 2000 * 2000 = 4000000 => (4)00.00(00)

10.00 * 00.50 => 1000 * 0050 = 0050000 => (0)05.00(00)

Binárně to funguje podobně.

gna
JavaScript, AJAX, jQuery › Jqury kontrola dynamicky vyt…
6. 12. 2017   #218860

To $ je funkce. Takže tam máš příkaz

$(parametr);

který se hned provede = spustí se funkce $ a ta spustí tvoji funkci zadanou jako parametr a v tu chvíli ten input ještě neexistuje.

Můžeš s ním pracovat až po jeho vytvoření, takže autocomplete a cokoliv jiného mu nastav potom.

...
document.getElementById('content').appendChild(objNewDiv);
var input = $(objNewDiv).find('#nazov');
input.autocomplete(...);
gna
C / C++ › Programování v C
4. 12. 2017   #218847

C má jen jeden ternární operátor.

A ? B : C

A funguje jako podmínka a pokud je splněna (má nenulovou hodnotu), tak výsledná hodnota celého výrazu bude B, pokud není splněna, tak to bude C.

printf("%s plnolety\n", (vek < 18) ? "nejsi" : "jsi");

S čím ještě potřebuješ pomoct?

gna
JavaScript, AJAX, jQuery › Jquery autocomplete viac inp…
4. 12. 2017   #218836

php:

$query = $db->query("SELECT nazov, pocet FROM...
while ...
    $data[] = $row;

json:

[{"nazov":"aa","pocet":1},{"nazov":"bb","pocet":2}]

A v tom PHP pozor na to sestavování SQL dotazu. Podívej se co je "sql injection" a jak se používají "prepared statements".

gna
C / C++ › Pletysmografický kapesní mon…
4. 12. 2017   #218834

A s čím konkrétně si tak nějak nevíš rady?

Máš délky těch intervalů. 10 tepů je 9 intervalů mezi nimi. 20 sekund jsou intervaly se součtem 20000 milisekund. Tím omezíš hodnoty, které do výpočtu zahrneš. A pokud je ti aspoň 10 let, tak z nich umíš spočítat požadované výsledky.

gna
JavaScript, AJAX, jQuery › Jquery autocomplete viac inp…
3. 12. 2017   #218831

Tím AJAXem. Tady jsem to napatlal tak, že ze serveru příjde pole objeků. Do nabídky půjdou indexy s popisem <nazov> a při selectu se data doplní z toho pole.

$(function() {
  var lastData = []; // [{nazov: 'aa', pocet: 11}, {nazov: 'ab', pocet: 12}];

  $( "#nazov" ).autocomplete({
    minLength: 1,
    source: function(acRequest, acResponse) {
      lastData = []; // zrusit stara data
      $.ajax({ // ajaxem nacist nova data pro autocomplete.
        url: "hladaj.php",
        dataType: "json",
        data: {
          term: acRequest.term
        },
        success: function(ajaxResponse) { // ajax uspesny. ulozit data.
          lastData = ajaxResponse;
        },
        complete: function() { // ajax dokonceny. uspesne nebo s chybou.
          var completions = []; // z dat vytvorit moznosti pro autocomplete.
          for(var i = 0; i < lastData.length; i++) {
            completions.push({label: lastData[i].nazov, value: i}); // value bude index
          }
          acResponse(completions);
        }
      });
    },
    select: function(event, ui) {
      var item = lastData[ui.item.value]; // value je index
      ui.item.value = item.nazov; // zmenit na nazov
      $( "#pocet" ).val(item.pocet); // dalsi data
      return true;
    }
  });
});
gna
Pascal › text -> pole : boolean
3. 12. 2017   #218829

Protože nastavuješ jen první řádek. spin[ 1 ,j]

gna
JavaScript, AJAX, jQuery › Jquery autocomplete viac inp…
2. 12. 2017   #218823

Můžeš definovat vlastní funkci pro select a tam doplnit zbývající data. A source může být i funkce, takže by šlo i to, že stáhneš všechno a vybereš, co půjde do nabídky a při selectu použiješ zbytek.

$(function() {
  var data = {prvni: 11, druhy: 22, treti: 33};

  $( "#nazov" ).autocomplete({
    minLength: 3,
    source: function(request, response) {
      // muzes ajaxem stahnout data
      // ja pouziju ten preddefinovany objekt
      var keys = Object.keys(data);
      console.log(keys);
      response(keys);
    },
    select: function(event, ui) {
      var key = ui.item.value;
      var val = data[key];
      console.log(key, val);
      $( "#pocet" ).val(val);
    }
  });
});
gna
.NET › BinaryWriter/BinaryReader
1. 12. 2017   #218811

BinaryWriter.Write Method (String)

Writes a length-prefixed string to this stream in the current encoding of the BinaryWriter...

Zapiš ten string jako pole bajtů, jak potřebuješ.

gna
Python › Xlrd - problém s importem
29. 11. 2017   #218796

Zkus pip3.

gna
Java › Najkratšia cesta s podmienkami
24. 11. 2017   #218749

Porovnáváš délku dvou cest místo dvou kroků jedné cesty. A určení maxima znamená hodnoty menší nebo rovné maximu.

gna
Assembler › úloha do školy v asambleri
22. 11. 2017   #218702

Když se ptáš na assembler, tak napiš o jaký jde procesor!

Funkci těch několika instrukcí snad není problém vyhledat. První počítá nastavené bity a druhý řadí data.

gna
PHP › Jak vnořit pole do jednoho
22. 11. 2017   #218693

Hm...

function getIt($data) {
    $content = [];
    foreach($data->result->data->tab as $tab) {
        if(isset($tab->unified_content->item)) {
            $itemdata = [];
            foreach($tab->unified_content->item as $item) {
                $name = $item->type->name;
                switch($name) {
                    case "header":
                        $itemdata['title'] = $item->text;
                        break;
                    case "text":
                        $itemdata['description'] = $item->text;
                        break
                    case "image":
                        $itemdata['image'] = getImages($item->image);
                        break;
                    case "html":
                        $itemdata['html'] = $item->text;
                        break;
                }
            }
            $content[] = $itemdata;
        }
    }
    return $content;
}
gna
Python › Človeče- problém so zadaním
22. 11. 2017   #218689

#19 Item
Je to seznam v seznamu stejně jako jsem to dělal já a údajně i ty. Takže se to vypisuje úplně stejně. Od začátku je jasné, že nemáš ani řádek.

gna
PHP › Jak vnořit pole do jednoho
22. 11. 2017   #218688

Asi to nechápu. Toto?

function getIt($data) {
    $content = [];
    foreach($data->result->data->tab as $tab) {
        if(isset($tab->unified_content->item)) {
            foreach($tab->unified_content->item as $item) {
                $name = $item->type->name;
                switch($name) {
                    case "header":
                        $content['title'] = $item->text;
                        break;
                    case "text":
                        $content['description'] = $item->text;
                        break
                    case "image":
                        $content['image'] = getImages($item->image);
                        break;
                    case "html":
                        $content['html'] = $item->text;
                        break;
                }
            }
        }
    }
    return $content;
}
gna
Python › Človeče- problém so zadaním
20. 11. 2017   #218657

#8 Item
Ta hra je hodně známá a zadání docela jasné. Tobě se nějak podařilo ho pochopit jinak?

gna
Python › Človeče- problém so zadaním
19. 11. 2017   #218630

os.system spustí systémový příkaz. Pro Windows ('nt') příkaz 'cls', na ostatních systémech příkaz 'clear'. To je na smazání obrazovky. Ten cyklus pak projde všechny řádky a hodnoty řádku spojí do řetězce, který vypíše.

Funkce nextpos ze souřadnic libovolné hvězdičky vrátí souřadnice následující hvězdičky ve směru hodinových ručiček. Pokud chceš postopit o více kroků, tak ji stačí zavolat víckrát. Samozřejmě je to jen ukázka, neřeší to postavené figurky a postup do domečku.

gna
C / C++ › Ošetření stejných hodnot - c…
19. 11. 2017   #218628

Proto píšu, že 4x4x4 není 4. Používáš minimální objem jako minimální rozměr.

int min, max;

scanf("%d %d", &min, &max);

for (int a = 1; a <= max; a++) {
    for (int b = a; b <= max; b++) {
        for (int c = b; c <= max; ++c) {
            int objem = a * b * c;
            if (objem >= min && objem <= max)
                printf ("%dx%dx%d\n", a, b, c);
        }
    }
}

Ještě by to šlo vylepšit ať se to vůbec nepokouší o cykly, ve kterých nemůže nic najít, ale na to kašlu.

gna
C / C++ › EOF a načítání vstupů
19. 11. 2017   #218622

Myslím, že přesně na to jsem odpověděl.

gna
C / C++ › EOF a načítání vstupů
19. 11. 2017   #218620

Při načítání hodnot jde zjistit, jestli se to povedlo a pokud ne, tak proč. Pravděpodobně ti bude stačit, že se to nepovedlo a nemusíš řešit, jestli to bylo právě kvuli EOF.

Pokud předem nevíš počet hodnot a potřebuješ je všechny držet v paměti, tak můžeš použít dynamické pole (v C malloc/realloc, v C++ podobně, ale tam je lepší použít std::vector). Toto vypadá, že ty hodnoty nebudeš potřebovat, tak stačí správně navrhnout algoritmus. V tomhle stylu:

// C
int soucet = 0, pocet = 0, hodnota;
while (scanf("%d", &hodnota) == 1) {
	pocet++;
	soucet += hodnota;
}
printf("pocet hodnot: %d, soucet: %d\n", pocet, soucet);
// C++
int soucet = 0, pocet = 0, hodnota;
while (std::cin >> hodnota) {
	pocet++;
	soucet += hodnota;
}
std::cout << "pocet hodnot: " << pocet << ", soucet: " << soucet;
gna
C / C++ › Ošetření stejných hodnot - c…
19. 11. 2017   #218619

Ještě k tomu editu. Ano, pro objem 4 nemůžeš začít na 4x4x4.

gna
C / C++ › Ošetření stejných hodnot - c…
19. 11. 2017   #218618

   

for (a = x; a <= y; a++)
    { for (b = a/*tady*/; b <= y; b++)
        { for (c = b/*tady*/; c <= y; c++)
gna
Python › Človeče- problém so zadaním
19. 11. 2017   #218617

Netuším, jak tu plochu generuješ, ale můžeš si při tom ten okruh uložit, tak jak jdou ty hvězdičky za sebou, nebo další políčko vždycky hledat v té ploše. Nedovedu si představit, jak by to vylezlo mimo.

import os
import time

sachovnice = [[' ',' ',' ','*','*','*',' ',' ',' '],
              [' ',' ',' ','*','D','*',' ',' ',' '],
              [' ',' ',' ','*','D','*',' ',' ',' '],
              ['*','*','*','*','D','*','*','*','*'],
              ['*','D','D','D','X','D','D','D','*'],
              ['*','*','*','*','D','*','*','*','*'],
              [' ',' ',' ','*','D','*',' ',' ',' '],
              [' ',' ',' ','*','D','*',' ',' ',' '],
              [' ',' ',' ','*','*','*',' ',' ',' ']]

def show(sachovnice):
	os.system('cls' if os.name == 'nt' else 'clear')
	for radek in sachovnice:
		print(''.join(radek))

def nextpos(sachovnice, x, y):
	size = len(sachovnice)
	if x < size // 2:
		if y > 0 and sachovnice[y-1][x] == '*':
			return x, y-1
	else:
		if y < size-1 and sachovnice[y+1][x] == '*':
			return x, y+1
	if y < size // 2:
		if x < size-1 and sachovnice[y][x+1] == '*':
			return x+1, y
	else:
		if x > 0 and sachovnice[y][x-1] == '*':
			return x-1, y
	return x, y

x, y = 5, 0
while True:
	sachovnice[y][x] = '*'
	x, y = nextpos(sachovnice, x, y)
	sachovnice[y][x] = 'A'
	show(sachovnice)
	time.sleep(0.2)
gna
Python › Človeče- problém so zadaním
19. 11. 2017   #218612

Nerozumím dotazu. Jak nedalo ovládat? U takového rozložení pravděpodobně zadáváš souřadnice figurky.

gna
C / C++ › Ošetření stejných hodnot - c…
19. 11. 2017   #218611

a: min..max
b: a..max
c: b..max

Ale pozor na ty jednotky -- 4(m3) je 1x1x4 nebo 1x2x2, ne 4x4x4. Celkově to asi není očekávané řešení.

gna
CorelDRAW › Jak vytvořit pravidelnou mří…
14. 11. 2017   #218552

#1 kotry
Funkce "Step and Repeat".

gna
Příkazový řádek › Proměnné pomoc
13. 11. 2017   #218537

Parametry jsou v %1 až %9. Další proměnné nepotřebuješ.

mkdir %1

Kdybys chtěl používat vlastní proměnné, tak takhle: 

set JMENO=Pepik
...
echo %JMENO%
gna
C / C++ › Tanecna sutaz(hodnoteniev ro…
12. 11. 2017   #218501

To minimum a maximum chceš odečíst jen jednou a až když ho budeš znát. Tj. mimo ten cyklus.

int min = rozhodca[0];
int max = rozhodca[0];
int soucet = rozhodca[0];
for (int i = 1; i < 9; i++) {
	if (rozhodca[i] > max)
		max = rozhodca[i];
	else if (rozhodca[i] < min)
		min = rozhodca[i];
	soucet += rozhodca[i];
}

int hodnotenie = soucet - min - max;
gna
C / C++ › Ostreni vstupu v C
12. 11. 2017   #218500

   

if (scanf("%d %d", &s, &v) != 2) {
    fprintf(stderr ,"Error: Chybny vstup!");
    return 100;
}
gna
C / C++ › Porovnání tří celých čísel
12. 11. 2017   #218499

   

if (a < b) {
	int t = a;
	a = b;
	b = t;
}
if (c > a)
	printf("%d %d %d\n", c, a, b);
else if (c > b)
	printf("%d %d %d\n", a, c, b);
else
	printf("%d %d %d\n", a, b, c);
gna
PHP › Vymazanie všetkého medzi apo…
12. 11. 2017   #218492

#4 Anonym5478555 

$s = preg_replace('/".*?"/', '', $s);
gna
C / C++ › Kružnice - jak na to
12. 11. 2017   #218487

   

std::cin >> ax >> ay;
gna
C / C++ › Porovnání tří celých čísel
10. 11. 2017   #218469

"seřaď" jako prohoď jim hodnoty, když to bude potřeba.

gna
C / C++ › Porovnání tří celých čísel
10. 11. 2017   #218468

Zkus to jak napsal hlucheucho. Seřaď dvě a rozhodni kam vložit třetí. To bude o hodně jednodušší. A pak se ti bude hodit až budeš řadit libovolný počet.

gna
Assembler › Rovnaké hodnoty v registroch…
10. 11. 2017   #218449

Nebo do jednoho z nich a ten zkopíruj do druhého.

gna
Assembler › Rovnaké hodnoty v registroch…
10. 11. 2017   #218448

Když se ptáš na assembler, tak napiš o jaký jde procesor.

Nevím o instrukci, která by nastavovala HL podle M, takže nemá smysl řešit, kolik bitů se načte. Můžeš nastavit H a L samostaně, ale M je hodnota na adrese HL, takže by to bylo dost nepraktické. Načti to do jiného registru a ten přesuň do H a L.

Je tady pár lidí, co tyhle procesory zní vic, tak třeba přijdou na něco jiného.

gna
.NET › Hra - Vrstvy na postavě
8. 11. 2017   #218398

   

Dictionary<ID, Item> veci = new Dictionary<ID, Item>();
veci[id] = item;
item = veci[id];
gna
Matematika › vzájemná poloha přímky a rov…
6. 11. 2017   #218378

#3 Kit
  

gna
Matematika › vzájemná poloha přímky a rov…
5. 11. 2017   #218366

No přece H, ať v tom není zmatek :)

gna
C / C++ › Funkcia fgets()
28. 10. 2017   #218234

Když tam nebude '\n', tak se nenačetl celý řádek.

gna
PHP › Vygenerovanie "pozicie" v po…
28. 10. 2017   #218233

   

$hodnota = $_c;
foreach ($arg_list as $arg) {
	if (!isset($hodnota[$arg])) {
		$hodnota = NULL;
		break;
	}
	$hodnota = $hodnota[$arg];
}
gna
C / C++ › Ukázka kódu
23. 10. 2017   #218186

To jako nějaký program, na kterém bude vidět, co umíš. Když nevíš, tak se nestyď a požádej je o nějaké zadání.

gna
C / C++ › Nakreslení schodů v konzoli…
18. 10. 2017   #218153

Ehm.

for (int i = 0; i < pocet_schodu; ++i)
{
	for (int j = 0; j < i; ++j)
	{
		cout << "X";
	}
	cout << "_" << endl;
}
gna
PHP › Problém s MVC
16. 10. 2017   #218135

#5 Marek
To řeší na začátku druhého videa přidáním isset.

gna
Java › Android Https request
15. 10. 2017   #218123

To tam není. Jen zmínka, že pak je SSL k ničemu.

gna
Java › Android Https request
15. 10. 2017   #218120
gna
PHP › Problém s MVC
15. 10. 2017   #218119

Pokud ti fungovala první část, tak ten jeden změněný řádek by to neměl rozbít.

gna
JavaScript, AJAX, jQuery › jQuery nextAll trochu jinak
27. 9. 2017   #217984

A nešlo by ten obsah rovnou generovat tak, aby to pak šlo snadno spárovat?

gna
Pascal › Maximum v matici
24. 9. 2017   #217964

Nic, všichni si už ve středu řekli, že nemá smysl na to odpovídat.

Můžeš to počítat po částech tak, aby jsi v dalších krocích nemusel znovu počítat to, co už jsi počítal.

gna
C / C++ › Boost.Filesystem - Iterace a…
24. 9. 2017   #217963

Když si myslíš, že je to tím, tak to kopírování vyhoď, protože ho k ničemu nepotřebuješ.

Pak si do mainu dej try-catch a podívej se, jakou vyjímku to háže.

gna
Python › Python - 9. lekce - sort()
24. 9. 2017   #217957

   

def pocetObyvatel(mesto):
    print('pro tohle', mesto)
    print('   vracim', mesto[1])
    return mesto[1]
    
def serad_dva(seznam, key):
    polozka0 = seznam[0]
    polozka1 = seznam[1]

    # az tady se funkce zadana jako key podle potreby vola
    hodnota0 = key(polozka0)
    hodnota1 = key(polozka1)

    # a podle vracene hodnoty se polozky seradi
    if hodnota0 < hodnota1:
        return [polozka0, polozka1]
    else:
        return [polozka1, polozka0]

seznamMest=[['Praha', 1000000], ['Brno', 350000]]

print('== original', seznamMest)
print('=> serazeno', serad_dva(seznamMest, pocetObyvatel))
== original [['Praha', 1000000], ['Brno', 350000]]
pro tohle ['Praha', 1000000]
   vracim 1000000
pro tohle ['Brno', 350000]
   vracim 350000
=> serazeno [['Brno', 350000], ['Praha', 1000000]]
gna
Python › Python - 9. lekce - sort()
24. 9. 2017   #217956

Parametr key určuje funkci, která vrací hodnotu, která se má použít při porovnávání. Při tom řazení se pak ta funkce postupně volá pro jednotlivé položky a podle té hodnoty se ty položky seřadí.

Co víc k tomu napsat? Chceš, aby se použila funkce pocetObyvatel, tak tam dáš pocetObyvatel.

mesto[1] není funkce, ale hodnota ze seznamu mesto -- což by klidně mohla být funkce, ale není -- je to číslo. Co by ten sort měl s tímhle dělat?

seznamMest=[['Praha', 1000000], ...]
prvniMesto = seznamMest[0] # prvniMesto = ['Praha', 1000000]
seznamMest.sort(key=prvniMesto[1]) # key = 1000000
gna
Python › Python - 9. lekce - sort()
23. 9. 2017   #217953

Parametr key určuje funkci, která vrací hodnotu, která se má použít při porovnávání. Při tom řazení se pak ta funkce postupně volá pro jednotlivé položky a podle té hodnoty se ty položky seřadí.

Myslím, že je to dost jasné v tom článku i dokumentaci. Možná trochu srozumitelnější verze by bylo takto: 

def pocetObyvatel(mesto):
    return mesto[1]  # počet obyvatel

seznamMest=[['Praha', 1000000], ['Brno', 350000], ...]
seznamMest.sort(key=pocetObyvatel)  # serad podle klice (= funkce) "pocetObyvatel"

V té druhé variantě místo funkce dáváš přímo položku seznamu, se kterou to nic nenadělá.

gna
Pascal › Súradnice bodov na priamke
21. 9. 2017   #217914

Tak jsem to zkusil přes ty vektory s odebíráním bodů z pole. Moc si Pascal nepamatuju a líp to nevymyslím.

uses
  math;

type
  TPoint = record
    x, y: real;
  end;

  TList = array of TPoint;

function xround(value: real; places: integer): real;
var
  muldiv: real;
begin
  muldiv := power(10, places);
  xround := round(value * muldiv) / muldiv;
end;

function samevec(A, B, C: TPoint): boolean;
var
  bx, by: real; // vec A -> B
  cx, cy: real; // vec A -> C
  lb, lc: real; // len AB, len AC
begin
  bx := B.x - A.x;
  by := B.y - A.y;
  cx := C.x - A.x;
  cy := C.y - A.y;

  lb := sqrt(bx * bx + by * by);
  lc := sqrt(cx * cx + cy * cy);

  // normalize
  bx := xround(bx / lb, 3);
  by := xround(by / lb, 3);
  cx := xround(cx / lc, 3);
  cy := xround(cy / lc, 3);

  samevec := ((bx = cx) and (by = cy)) or ((bx = -cx) and (by = -cy));
end;

function remove(var list: TList; idx: integer): TPoint;
var
  i: integer;
begin
  remove.x := 0;
  remove.y := 0;
  if idx < length(list) then
    begin
      remove := list[idx];
      for i := idx to length(list) - 2 do
        list[i] := list[i + 1];
      setlength(list, length(list) - 1);
    end;
end;

var
  i, j, lines: integer;
  list, work: TList;
  A, B: TPoint;

begin
  while not eof(input) do
    begin
      setlength(list, length(list) + 1);
      with list[length(list) - 1] do
        readln(x, y);
    end;

  if length(list) < 3 then
    begin
      writeln('ne');
      exit;
    end;

  lines := 0;

  for i := 1 to length(list) - 1 do
    begin
      work := copy(list, 0, length(list));

      lines := 1;

      B := remove(work, i);
      A := remove(work, 0);
      for j := length(work) - 1 downto 0 do
        if samevec(A, B, work[j]) then
          remove(work, j);
      if length(work) = 0 then
        break;

      lines := 2;

      A := remove(work, 0);
      B := remove(work, 0);
      for j := length(work) - 1 downto 0 do
        if samevec(A, B, work[j]) then
          remove(work, j);
      if length(work) = 0 then
        break;

      lines := 3; // or more
    end;

  if lines = 2 then
    writeln('ano')
  else
    writeln('ne');
end.
gna
Pascal › Súradnice bodov na priamke
21. 9. 2017   #217913

Těžko říct, kde je problém, když neukážeš kód. Při přepočtech může dojít k drobným odchylkám, tak konečné porovnání dělej s nějakou tolerancí.

gna
Visual Basic › VBA a ukazatele
20. 9. 2017   #217872

Ne, takový trik není a standardní prostředky, jak dostat z funkce data, stačí na úplně všechno.

gna
OS - GNU / Linux › Radeon rx 560 ovladače
16. 9. 2017   #217837

Když nejsou splněné závislosti, tak zjevně nejsou dobře nainstalované. Použil jsi update před upgrade? Můžeš zkusit ještě install -f, ale moc bych od toho nečekal. Odinstaluj ty ovladače a nainstaluj ty, co se ti nabízí v Software & Updates / Additional Drivers. Až v případě potřeby řeš novější z webu.

gna
XML / XSL(T) › Úprava xml pro import dat
14. 9. 2017   #217826

#8 Kit
Tak se omlouvám. V té druhé větvi je id ze selectu, tak to pak jo.

gna
XML / XSL(T) › Úprava xml pro import dat
14. 9. 2017   #217825

#8 Kit
Podívej se pořádně, všechno jde do insertu a updaty jsou nad insertnutými idčky. Takže tam něco řeší duplicity, nebo se data pořád jen přidávají.

gna
XML / XSL(T) › Úprava xml pro import dat
14. 9. 2017   #217823

Tohle jen přidává data.

Pokud to má být aktualizační import, tak je tam ještě něco, co řeší duplicity a problém je v tom.

gna
Pascal › Súradnice bodov na priamke
13. 9. 2017   #217812

Asi nejjednodušší je na to jít tak, že mezi všemi body na jedné přímce je stejný (nebo opačný) jednotkový vektor.

Takže vezmeš dva body určující jednu přímku a najdeš další body, které na ní leží. Pokud žádné body nezbyly, tak všechny leží na jediné přímce.
Podobně se zbytkem bodů (pokud nějaké zbyly) pro druhou přímku (když nebudou aspoň 2, tak i 1 znamená další přímku). Pokud teď žádné body nezbyly, tak máš jen dvě přímky. Jinak je jich více.

Takhle to vyzkoušíš pro různé počáteční přímky (stačí měnit jeden bod) a budeš hledat jestli ti někdy vyjdou 2 přímky.

gna
PHP › Class active na aktuálnej st…
10. 9. 2017   #217783

Tak můžeš tam všude přidat nějaký kód.

aa <?php if ($active == "aa") echo "active"; ?>
bb <?php if ($active == "bb") echo "active"; ?>

Nebo něco inteligentnějšího. A pokud tam není žádný kód, tak to můžeš nejdříve načíst a před vypsáním upravit. Od toho jsou generátory HTML a šablonovací systémy.

gna
PHP › Riešenie pre otvorenie txt s…
10. 9. 2017   #217782

Chápu to tak, že ten .txt stahuješ ze serveru přes HTTP. Jestli je to statický soubor nebo skript řeší server. Klientovi je to jedno.

Pokud ti skript vrací špatná data, tak je v něm chyba.

gna
C / C++ › Registr tříd pro herní engine
10. 9. 2017   #217773

Když uděláš ten destruktor virtuální, tak se zavolá ten správný (resp. oba).

gna
PHP › Riešenie pre otvorenie txt s…
10. 9. 2017   #217772

Nestahuj přímo ten texťák, ale PHP skript, který vrátí obsah toho souboru a pak ho vymaže.

Aby jsi nepřišel o data, pokud bude čtení a zápis probíhat ve stejnou chvíli, můžeš použít flock.

gna
PHP › Nasepkavanie pri vyhladavani…
8. 9. 2017   #217760

Ano, ten AJAX pošle na server samostatný požadavek a jeho výsledek se zpracuje v JavaScriptu.

Jak je v tom příkladu statický soubor "html-elements.json", tak místo toho by byl PHP skript. Nezáleží na tom, jestli to bude samostatný skript, nebo to přidáš do existujícího a nějakým parametrem určíš co má dělat.

Stejně tak je na tobě, v jakém formátu ta data vrátíš a co s nimi pak v JS uděláš. V tom příkladu je to pole řetězců v JSONu, ale klidně vracej HTML, jestli ti to víc vyhovuje.

gna
PHP › Nasepkavanie pri vyhladavani…
7. 9. 2017   #217757

Tak si některý z těch tutoriálů přečti a pak napiš, co ti není jasné.

gna
.NET › Vláda
5. 9. 2017   #217731

Víte, že na takové věci jsou weby jako pastebin.com ?

gna
Matematika › parametr rovnice ve jmenovat…
3. 9. 2017   #217712

Jo, normálně to tam napiš, nikdo na to nemůže nic říct a naopak by se našel rejpal, kterému by to chybělo.

pro
p = 0 => rovnice nemá smysl
p \ne 0 => něco

gna
Matematika › Finanční matematika - hodnot…
25. 8. 2017   #217671

To je první fáze a bude za ty 3 roky. K tomu se přičítá druhá fáze, která se počítá z pokračující hodnoty. Tomu nerozumím, ale ty snad budeš vědět.

gna
C / C++ › C++ problém s vyhodnocením p…
25. 8. 2017   #217670

V C++ je pro řetězce třída string, která věci dost zjednodušuje.

string slovo;                                                                   
cin >> slovo;                                                                   
if (slovo == "ano")                                                             
	cout << "tak se svlikni" << endl;
gna
.NET › Windows Service - nejjednodu…
25. 8. 2017   #217657

Přidat parametry můžeš, hodnota pro ImagePath je v Context.Parameters["assemblyPath"]. Ale nedával bych tam DisplayName, ale ServiceName.

gna
.NET › Windows Service - nejjednodu…
24. 8. 2017   #217656

Jaké jméno procesu? Najdi svůj proces v seznamu služeb.

string name = new ManagementObjectSearcher("SELECT * FROM Win32_Service where ProcessId = " + Process.GetCurrentProcess().Id).Get().Cast<ManagementObject>().First()["Name"].ToString();
gna
.NET › Windows Service - nejjednodu…
23. 8. 2017   #217628

To je klíč, kde Windows mají informace o službách. Ne kam si služby mají ukládat svoje data.

Můžeš najít službu s tvým ProcessId a zjistit její jméno. Nejjednodušeji přes WMI (ManamegentObject). Jestli ji instaluješ pod jiným jménem, než pod kterým běží a nikam ho neukládáš, tak holt asi budeš muset ty klíče projít a ten svůj nějak identifikovat.

Nebo to prostě neprasit :-)

gna
Java › Získání DOM kódu z webu
23. 8. 2017   #217627

jsoup je jen parser. Potřebuješ něco co chová jako kompletní prohlížeč jako HtmlUnit, nebo Selenium.

gna
Delphi › přístup k property vnořených…
23. 8. 2017   #217621

   

A := report.Cells[X]; // TReport read Cells
report.Cells[X] := A; // TReport write Cells

B := report.Cells[X].Y;
// je jako
// tmp := report.Cells[X]; // TReport read Cells
// B := tmp.Y;             // TCellProperty read Y

report.Cells[X].Y := B;
// je jako
// tmp := report.Cells[X]; // TReport read Cells
// tmp.Y := B;             // TCellProperty write Y

Netuším, jak jsi ten getter napsal, ale když to jde přímo, tak to musí jít i přes něj.

gna
Delphi › přístup k property vnořených…
22. 8. 2017   #217612

Řešíš jen to "Cells[X]". Další operace pak jdou přes vrácený objekt.

property Cells[index: integer]: TCellProperty read GetCell write SetCell;

function GetCell(index: integer): TCellProperty;
pricedure SetCell(index: integer; value: TCellProperty);
gna
Visual Basic › Makro pro Word: Jak zjistit…
22. 8. 2017   #217608

Jako, že to nemáš v tom seznamu dostupných referencí? Tak dej procházet a přidej přímo soubor FM20.dll.

gna
C / C++ › Jak otevřít soubor v C++ a n…
20. 8. 2017   #217589

   

size_t beg = neco.find(':', 3);
size_t end = (beg != string::npos) ? neco.find(' ', beg + 1) : string::npos;
if (beg != string::npos && end != string::npos)
	string sub = neco.substr(beg + 1, end - beg - 1);
gna
C / C++ › Jak otevřít soubor v C++ a n…
19. 8. 2017   #217576

Nemaž příspěvky. Vypadám, že se bavím sám se sebou :D

gna
C / C++ › Jak otevřít soubor v C++ a n…
19. 8. 2017   #217575

K tomu dalšímu -- C++ umí regulární výrazy až od C++11, pro starší verze budeš potřebovat externí knihovnu.

Pro to nahrazování budeš muset načíst celý obsah souboru do paměti a po úpravách ho zase celý zapsat, nebo postupně z jednoho souboru číst a do jiného zapisovat. (Kdybys to chtěl dělat postupně nad jedním souborem, tak bys musel různě posunovat následující data a to by bylo na zbláznění.)

gna
C / C++ › Jak otevřít soubor v C++ a n…
19. 8. 2017   #217574

Vyhoď ten open, ten konstruktor to otevře.

Nebo použij konstruktor bez parametru a otevře to až open.

gna
C / C++ › OpenGL - Snímání obrazovky
19. 8. 2017   #217573

#3 JerryM
Myslím si, že kdyby do programu v OpenGL chtěl přidat ukládání obsahu svého okna, tak by dotaz formuloval hodně jinak. Ale jinak jo, třeba tohle by do toho cizího procesu mohl injektovat.

gna
C / C++ › Jak otevřít soubor v C++ a n…
19. 8. 2017   #217571

Pokud nejsi v tom adresáři, který čteš, tak při před název souboru musíš přidat cestu.

Ten soubor otevíráš dvakrát (konstruktor a open), takže se nastaví failbit a neprojde good.

gna
.NET › Slova pozpátku
18. 8. 2017   #217564

Jop, to čtení odzadu by asi bylo lepší.

gna
PHP › Javascript v IE a EDGE
18. 8. 2017   #217563

#12 peter
Už jsem myslel, že dementní nesouvisející příhoda nebude :)

Z těch výpisů je jasné, že to je string nebo něco, co vrací string jako svoji hodnotu. Nic tam není vidět, ale konverze neprojde, tak by tam mohly být neviditelné znaky. Jako třeba to LRM, kdyby ta funkce intlDate.format čistě náhodou byla něco jako Intl.DateTimeFormat.format, která ho tam jen v IE mívá...

gna
.NET › Slova pozpátku
18. 8. 2017   #217559

Kdbyby šlo jen o to nějak to vyplodit, tak je to na jeden řádek.

string veta = "Zase jsme vyhráli, tentokrát těsně.";
string pozpatku = string.Join("", Regex.Matches(veta, @"\w+|\W+").Cast<Match>().Reverse());

Ale o to pravděpodobně v návaznosti na předchozí úkol nejde. Asi to máš po znacích projít a rozlišit slova a interpunkci.

string token;
List<string> casti = new List<string>();
for (int i = 0; i < veta.Length; )
{
	for (token = ""; i < veta.Length && Char.IsLetter(veta[i]); i++)
		token += veta[i];
	if (token != "")
		casti.Add(token);
	for (token = ""; i < veta.Length && !Char.IsLetter(veta[i]); i++)
		token += veta[i];
	if (token != "")
		casti.Add(token);
}
casti.Reverse();
string pozpatku = string.Join("", casti);

Předpokládám, že to uděláš inteligentněji.

gna
C / C++ › OpenGL - Snímání obrazovky
18. 8. 2017   #217541

Fraps a další fungují tak, že do procesu injektují vlastní kód a hookují vykreslovací funkce. Dnes je populární OBS, které je open source, tak se na to můžeš podívat. Jednoduchý multiplatformní způsob není.

gna
C / C++ › Kde mám stáhnout Qt ?
18. 8. 2017   #217540
gna
PHP › Javascript v IE a EDGE
17. 8. 2017   #217528

   

>> a = new Intl.DateTimeFormat().format(new Date());
"8/17/2017"
>> a.replace(/(.)/g, "$1,");
",8,,/,,1,7,,/,,2,0,1,7,"
>> a.replace(/./g, val => val.charCodeAt(0) + ",");
"8206,56,8206,47,8206,49,55,8206,47,8206,50,48,49,55,"
gna
PHP › Javascript v IE a EDGE
16. 8. 2017   #217520

Pokud jsou to stringy, tak by to mělo fungovat. (špatně) 

var rozdel = "8:30".split(":");
var vysledek = rozdel[0] + (rozdel[1]/60);
// "8" + ("30"/60) => "8" + 0.5 => "80.5"

Nenapadá mě, jak by to zobrazovalo všechny hodnoty správně a padlo to až na tom výpočtu, ale problém bych hledal v té šílenosti s datem před tím.

gna
Pascal › exitcode 255 ve Freepascalu
16. 8. 2017   #217514

Myslím, že bývá vidět, kde k té chybě došlo.

Pravděpodobně neplatný index.

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032017 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý