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
Pascal › rozdělení matice na čtvercov…
před 20 hodinami   #385746

Já to chápu tak, že když máš třeba matici 6x4, tak z ní vytvoříš čtvercovou 4x4 a zbytkovou 2x4. Takže prostě vytvoříš 3 matice. První bude naplněná náhodnými hodnotami a další dvě hodnotami z té první.

gna
Pascal › rozdělení matice na čtvercov…
Včera   #385744

Teda v random bude 99.

gna
Pascal › rozdělení matice na čtvercov…
Včera   #385743

 Můžeš použít dynamické dvourozměrné pole.

type
  TMatice = array of array of integer;

var
  matice: TMatice;
...
setlength(matice, m, n);
for y := 0 to m-1 do
  for x := 0 to n-1 do
    matice[y,x] := 1 + random(98);

To rozdělení bude podobně. Vytvoříš další 2 matice a naplníš je hodnotami z té původní.

gna
Hardware › Zmena ID HDD
26. 3. 2020   #385732

Axagon klonuje (měl by klonovat) i ID, takže problém možná bude jinde. Pokud je původní disk jinak v pohodě, tak bych zkusil obnovit data ze záložního zase na ten původní disk. Konkrétní zkušenost bohužel nemám.

gna
JavaScript, AJAX, jQuery › Zjednodušení (spojení) více…
25. 3. 2020   #385723

Vypadá to nějak divně, asi mi někde utekly nějaké závorky :) ale pointa by měla být jasná.

gna
JavaScript, AJAX, jQuery › Zjednodušení (spojení) více…
25. 3. 2020   #385722

Nevím jistě na co se ptáš.

U každého requestu potřebuješ zkontrolovat výsledek, ale můžeš to mít v jedné funkci.

A pokud chceš sloučit víc různých requestů, tak prostě zpracovávej a vracej víc dat.

<?php
$response = [];
if (isset($_GET['prvni'])) {
    $response['prvni'] = 'prvniiii';
}
if (isset($_GET['druhy'])) {
    $response['druhy'] = 'druhyyyy';
}
if (isset($_GET['treti'])) {
    $response['treti'] = 'tretiiii';
}
echo json_encode($response);
<script>
function refreshData(qs) {
    var request = new XMLHttpRequest();
    request.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200 && this.responseText != null) {
        var resp = JSON.parse(this.responseText);
        console.log(resp);
        if (resp.prvni !== undefined)
            document.getElementById("prvni").innerHTML = resp.prvni;
        if (resp.druhy !== undefined)
            document.getElementById("druhy").innerHTML = resp.druhy;
        if (resp.treti !== undefined)
            document.getElementById("treti").innerHTML = resp.treti;
        }
    }
    var nocache = "&nocache=" + Math.random() * 1000000;
    request.open("GET", "?" + qs + nocache, true);
    request.send(null);
}
function startRefresh() {
    setInterval(function() { refreshData("prvni&druhy"); }, 8000);
    setInterval(function() { refreshData("treti"); }, 15000);
}
</script>
gna
Python › Pytest + Python debugger, po…
23. 3. 2020   #385714

Nechápu dotaz.

PyTest spouští testy a při tom vypisuje názvy těch souborů. Jasně, že budou o pár řádků níže.

V tomhle výstupu se to sekne v metodě test_add_method_returns_correct_result na řádku 11 s příkazem raise Exception().

Nejspíš k té knize bude CD nebo něco, kde budou doprovodné soubory, abys to nemusel louskat z knihy, tak ho zkus někde najít. A opět ses buď zaseknul na něčem nepodstatném, nebo to tam je vysvětleno a prostě se vrať o pár stran zpět.

gna
Python › Runner unittest
22. 3. 2020   #385711

To první je zřejmě jednotkový test a při jeho spuštění chceš spustit testování.

To druhé je asi nějaký modul kalkulátoru a z nějakého důvodu při jeho přímém spuštění vypisuješ nějaký součet. Nejspíš taky jako formu testu.

Ale jinak tam není žádná paralela. Proč v jednom není druhé, je po té době, co se Pythonu věnuješ, neuvěřitelný dotaz.

gna
Python › Python nose test, vysvetleni
22. 3. 2020   #385710

(Pdb) je prompt Python Debuggeru, a up/list jsou zadávané příkazy. Buď to v té knize je uvedeno, nebo to není podstatné.

Každopádně je to standardní modul a dokumentace roste na obvyklém místě -- https://docs.python.org/3/library/pdb.html

gna
PHP › Cookie / SESSION košík
21. 3. 2020   #385701

Upřímně, mně se to nechce moc študovat, ale myslel jsem to tak, že tady problém nevidím a možná bude jinde. Nevolá se ti to prostě dvakrát?

gna
PHP › Cookie / SESSION košík
20. 3. 2020   #385697

Já si myslím, že by to mohlo fungovat, ale ruku do ohně za to nedám. Nechápu, jak se ti podařilo explode; +=; implode; napsat na 50 řádků   

Každopádně tohle nedělej a použij $_SESSION.

gna
Python › Problem s modulem- vysledek,…
20. 3. 2020   #385696

Buď ti to vypíše chybu, že ten modul neexistuje, nebo výsledky testu.

gna
C / C++ › csharp vypsání počtu určitéh…
19. 3. 2020   #385683

Jestli to máš do školy, tak záleží na tom, co zrovna řešíte. Mohlo by to být procvičování cyklů a pak třeba takhle:

int pocet = 0;
foreach (char znak in veta)
  if (znak == 'A')
    pocet++;
gna
PHP › Rozdíl mezi označeními začát…
17. 3. 2020   #385676

Mezi <? a <?php je rozdil jen v tom, že funkčnost krátké verze záleží na nastavení a dlouhá funguje vždy.

<?= je zkratka pro <?php echo.

gna
C / C++ › Jak převedu struct na pole z…
16. 3. 2020   #385671

 Nejdříve se ujisti, že v té struktuře nebude žádné zarovnání.

#pragma pack(push)
#pragma pack(1)
typedef...
#pragma pack(pop)

A pak stačí vzít její adresu a přetypovat ji.

CRC8((char*)&struktura, sizeof(struktura));
gna
Python › vypnutí konzole při trasování
14. 3. 2020   #385654

A kde ti to spadne a s jakou chybou? Problém asi nebude v konzoli a printu.

gna
Python › vypnutí konzole při trasování
14. 3. 2020   #385651

Jestli to na něčem předčasně sletí, tak se typicky vypisuje chyba.

Zkus to spustit z konzole tak, ať se nevytváří nová a možná uvidíš nejaké chybové hlášení, než to skončí.

gna
Python › Interactive a normal mode
11. 3. 2020   #385626

Když spustíš Python bez parametrů, tak se spustí v interaktivním režimu - čte příkazy a hned je provádí. Taky se tomu říká REPL - Read Eval Print Loop.

$ python
>>> 1 + 2
3
>>> a = 2 + 2
>>> a
4
>>>

Prompt je ta výzva k zadání dalšího příkazu - >>>

Takže doctest v docstringu hledá tenhle prompt a zkouší jestli ty příkazy fungují, tak jak je uvedeno.

gna
Python › nefunguje datetime alebo str…
9. 3. 2020   #385612

Asi by bylo dobré mít ta data v jednotném formát a explicitně ho uvést.

gna
Java › Rezervační systém
9. 3. 2020   #385611

Funkce mohou vracet hodnoty. Dejme tomu, že chceš vracet dva inty, tak je můžeš vrátit třeba jako pole. 

public int[] getRM()
{
    int rada = ...;
    int misto = ...;
    return new int[] { rada, misto };
}
...
int[] rm = getRM();
// rm[0], rm[1]

Místo pole s magickými indexy, jsou samozřejmě lepší složitější objekty s popisnými jmény dat.

A na opakování se používají cykly, ne rekurze. 

String vyuzit;
do {
    vyuzit = sc.nextLine().toUpperCase();
} while (!"ANO".equals(vyuzit) && !"NE".equals(vyuzit));

Stejným stylem pak nebude metoda sector1 volat sector2 a ten sector3 atd, jak to nejspíš máš. 

for (int secnum = 1; secnum < 10; secnum++) {
    String vyuzit;
    do {
        System.out.println("Chcete využít " + secnum + ". sektor?(ANO/NE)");
        vyuzit = sc.nextLine().toUpperCase();
    } while (!"ANO".equals(vyuzit) && !"NE".equals(vyuzit));

    if ("ANO".equals(vyuzit)) {
        System.out.println("Zadej radu:");
        String rada =  sc.nextLine();
        System.out.println("Zadej misto:");
        String misto =  sc.nextLine();
        System.out.println("sektor " + secnum + ", rada " + rada + ", misto " + misto);
    }
}
gna
Python › Unikátní dvojice hodnot ze r…
8. 3. 2020   #385610

   

.rename(columns={'time_to_final': 'min_time'})
gna
Python › Unikátní dvojice hodnot ze r…
8. 3. 2020   #385609

Any vrací True nebo False podle toho, jestli v datech je nebo není něco True. Nemyslím si, že takhle ten if může fungovat.

Jde to jednoduše udělat třeba pomocí groupby.

>>> Grid_frame2.groupby(['X', 'Y'], as_index=False)['time_to_final'].min()
   X  Y  time_to_final
0  1  7              1
1  2  7              1
2  3  7              4
3  4  7              3
4  4  8              5
5  5  8              5
6  6  9              3
gna
Delphi › Jedna funkce pro více Array…
29. 2. 2020   #385558

Já jsem v Pascalu/Delphi už roky nedělal, tak úplně nevím.

Ale myslím si, že prázdné dynamické pole právě je (nebo může být) nil. A pokud je parametr var, tak se už při překladu pohlídá, že to bude platná reference, takže nil bude jedině prázdné pole.

S tím kopírováním při výběru registru si nejsem jistý, ale asi to tak bude. Šlo by to obejít použitím ukazatele (explicitního, ne var parametru), nebo to pole zabalit do třídy, protože objekty si myslím, že se vždycky předávají v podstatě jako ukazatele. Pak se teda vrací to, že někde budeš muset ošetřit nil.

Víc nevím, ale jsou tady nějací Pascalisti, tak snad poradí.

gna
Delphi › Jedna funkce pro více Array…
29. 2. 2020   #385555

Var u parametru znamená, že ten parametr bude odkaz na předávaná data, jinak je to jejich dočasná kopie (takže třeba změny hodnot se neprojeví v původním poli).

Tu funkci máš správně a pokud se ten parametr jeví jako nil, tak chybu máš někde jinde a opravdu tam jde nil.

gna
Python › Rozbor kodu, for loop
24. 2. 2020   #385547

Ano, chápeš to správně.

Konstrukce for <X> in <Y>: provede další kód pro každý provek kolekce <Y> s tím, že aktuální prvek představuje proměnná <X>.

Konstruktor třídy Question nastavuje vytvářenému objektu atributy prompt a answer.

questions je list těchto objektů (instancí třídy Question)

a ten for ho projde, nastavuje proměnnou question, což je teda položka z listu questions, a tedy instance třídy Question s atributy prompt a answer nastavenými v konstruktoru :)

gna
Hardware › Rozjeté vzorkování u komunik…
24. 2. 2020   #385544

Tak zkus netrvat na těch hodnotách a vyzkoušej, jestli ti to skousne to, co pozoruješ. 2600 E.

gna
Chytré telefony, komunikátory a jejich OS › Prehrávanie flash na android…
23. 2. 2020   #385538

#5 Blank23
No, i tu první variantu můžeš jakoby zkonvertovat třeba tak, že to u sebe přehraješ ve Flashi a nějakým programem pro snímání obrazovky/okna to nahraješ do nějakého běžného video formátu.

gna
PHP › PHP české měsíce
23. 2. 2020   #385536

V postu máš číslo měsíce, mktime z něj udělá timestamp, ze kterého pak date zjistí název měsíce.

Takže to je to samé. Celé to vyhodíš a zase místo toho použiješ ten svůj $MonthArray.

gna
PHP › PHP české měsíce
22. 2. 2020   #385533

A u té poslední varianty teda nemusíš psát ta čísla u všech měsíců. Stačí u prvního a další se budou automaticky zvyšovat.

$nazvy = [1 => 'Leden', 'Unor', ..., 'Prosinec'];
gna
PHP › PHP české měsíce
22. 2. 2020   #385532

Nějak se ztrácím v tom, o co se pokoušíš. Jazyk použitý ve funkci date se nastaví funkcí setlocale.

Pokud použiješ vlastní seznam, tak funkci date nepotřebuješ. Akorát indexy takhle definovaného pole začínají od nuly.

Takže můžeš od čísla měsíce odečítat jedničku. Nebo na začátek vložit prvek navíc ať se zbytek posune. Nebo to pole definovat i s klíčy.

$i = 1

$nazvy = ['Leden', ..., 'Prosinec'];
echo $nazvy[$i - 1]; // 1 -> 0 -> Leden

$nazvy = ['XXX', 'Leden', ..., 'Prosinec'];
echo $nazvy[$i]; // 1 -> Leden

$nazvy = [1 => 'Leden', ..., 12 => 'Prosinec'];
echo $nazvy[$i]; // 1 -> Leden
gna
PHP › PHP české měsíce
21. 2. 2020   #385526

Funkcí setlocale můžeš přepnou na češtinu, ale samozřejmě to vyžaduje, aby byla na serveru nainstalovaná. Jinak to holt musíš řešit vlastním seznamem názvů měsíců.

gna
Visual Basic › VB ODBC načíst do comboboxu
21. 2. 2020   #385525

#11 krpik
Tak to máš to plnění ještě někde jinde. Protože ten Return tady tu funkci ukončí a na ty další příkazy s plněním comba nedojde. A ten problém s Indexem jsem právě tipoval na čtení vybrané položky z prázdného comba.

gna
Visual Basic › VB ODBC načíst do comboboxu
20. 2. 2020   #385520

Jestli to máš tak, jak jsi to se pastnul, tak se ti to combo vůbec neplní.

gna
Java › Java - rekurzia
19. 2. 2020   #385516

Tak to vypadá, že Java (JVM) TCO neumí.

gna
Java › Java - rekurzia
19. 2. 2020   #385515

I kdybys to nějak rozdělil, tak při větším poli zase vyčerpáš zásobník. Existuje tzv. tail call optimization, respektive tail-recursive call, který by snad Java měla umět optimalizovat, tak to můžeš zkusit, ale jinak je správné řešení prostě použít cyklus bez rekurze.

gna
Visual Basic › VB ODBC načíst do comboboxu
18. 2. 2020   #385506

#5 krpik
Ty názvy jsou ti k ničemu. Předpokládám, že u těch zdrojů máš ty připojovací údaje, ktere chceš načíst, jinak to celé nemá smysl. Takže načteš seznam těch zdrojů a pak projdeš jejich klíče a hodnoty. Ty tři funkce, co jsem ti napsal na to stačí.

Tak so podívej do těch registrů, jakou to má strukturu a načti si to. Já Widle s ODBC nemám, ale našel jsem tenhle příklad a nevidím problém.

[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources]
"MY_DB"="SQL Server"

[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\MY_DB]
"Driver"="C:\\WINDOWS\\system32\\SQLSRV32.dll"
"Server"="10.1.1.1"
"Database"="MY_DB"
"LastUser"="db_account"
gna
Visual Basic › VB ODBC načíst do comboboxu
18. 2. 2020   #385493

Není mi úplně jasné na co se ptáš. Jak číst registry? RegistryKey Class

RegistryKey key = Registry.CurrentUser.OpenSubKey(@"Software\ODBC\ODBC.INI\ODBC Data Sources");
key.GetValueNames()
key.OpenSubKey(...)
key.GetValue(...)
gna
MS SQL › SQL: Jak porovnat text s odl…
17. 2. 2020   #385490

Pokud jde o wildcard, tak můžeš použít LIKE, pokud chceš něco inteligentnějšího tak MATCH-AGAINST. Nebo samozřejmě můžeš použít vlastní funkci, existuje dost algoritmů, které i lempl jako ty zvládne implementovat.

gna
Hry › unity3d OnTriggerExit , aby…
16. 2. 2020   #385486

to je jen na vyzkoušení, abys viděl, co to opravdu dělá

gna
Hry › unity3d OnTriggerExit , aby…
16. 2. 2020   #385484

Zkus vyhodit ty ify a v konzoli vypni "collapse".

gna
Python › datetime python string
14. 2. 2020   #385480

Netuším, co myslíš hozením do Excelu, ale formát ve strptime jen říká v jakém formátu je ten parsovaný řetězec. Výsledek je objekt datetime, který vždycky obsahuje date i time.

gna
Python › datetime python string
14. 2. 2020   #385478

Tak je projdeš a po jednom zkonvertuješ

date = ('10.2.2019','31.12.2019','5.4.2018','7.2.2019','8.4.2016','3.8.2018','7.4.2017')
date = tuple(datetime.strptime(d, '%d.%m.%Y') for d in date)
gna
Python › datetime python string
14. 2. 2020   #385476

#3 dawid294
Parametry strptime jsou řetězec obsahující datum v nějakém formátu a řetězec definující ten formát.

Tohle funguje

datetime.strptime('10.2.2019','%d.%m.%Y')

A tohle nefunguje

datetime.strptime('date','%d.%m.%Y')

Protože 'date' není datum v zadaném formátu.

gna
Python › datetime python string
14. 2. 2020   #385473

Protože tomu jako datum předhazuješ řetězec 'date'.

gna
Python › python pandas copywarning
11. 2. 2020   #385459

Když vybíráš data, tak výsledek může být "pohled" na původní data a změny se projeví v původních datech, nebo kopie původních dat a změny se v původních datech neprojeví. A viceméně nevíš, jestli to bude jedno nebo druhé.

Takže table['c4'] může a nemusí být kopie. A zápis do [pom] se může a nemusí projevit v table. A o tom je to varování. I pokud ti to funguje, tak to oprav.

A já si myslím, že ti to nefunguje, protože ten výraz v pom máš špatně. Pozor na prioritu operátorů. Takže takhle: 

# zavorky
pom = (table['c2'] == 0) | np.isnan(table['c2'])
...
# v tom mean by taky nemusel byt dvojity []
table.loc[pom,'c4'] = np.mean(table['c4'][pom2])
gna
Python › Vykreslení písmena
9. 2. 2020   #385445

Standardní výstup je prostě proud znaků a musíš obě strany řešit hned. 

print('x' + ' ' * sirka + 'x')

Samozřejmě si můžeš vytvořit nějaký buffer, který budeš indexovat, jak se ti zlíbí a až nakonec ho celý vypíšeš.

Pak jsou různé knihovny pro pokročilejší práci s konzolí, kde můžeš určovat souřadnice a barvy textu apod, ale ve standardní knihovně nic univerzálního není.

gna
Python › python cyklus for cez viac s…
8. 2. 2020   #385440

Zbytečně jsem to překombinoval.

for i in range(1, 6):
    ANIMAL['DOG2'] = np.where(np.isnan(ANIMAL['DOG']) &
                                np.isnan(ANIMAL['DOG2']) &
                                pd.notna(ANIMAL.iloc[:, i]),
                              (i - 1) * 10,
                              ANIMAL['DOG2'])
gna
Python › python cyklus for cez viac s…
8. 2. 2020   #385439

Právě té dvojky jsem se chytal, ale já ji tam prostě nevidím.

print(ANIMAL)
for i in range(1, 6):
    ANIMAL['DOG2'] = np.where(np.isnan(ANIMAL['DOG']) & pd.notna(ANIMAL.iloc[:, i]),
                              np.where(np.isnan(ANIMAL['DOG2']),
                                       (i - 1) * 10,
                                       ANIMAL['DOG2']),
                              ANIMAL['DOG2'])
print(ANIMAL)
   DOG     c1     c2     c3  c4     c5  DOG2
0  NaN  100.0    NaN    NaN NaN  100.0   NaN
1  NaN    NaN    NaN  500.0 NaN    NaN   NaN
2  NaN    NaN  300.0    NaN NaN    NaN   NaN
3  NaN    NaN    NaN  100.0 NaN  100.0   NaN
4  NaN  100.0  100.0    NaN NaN    NaN   NaN
5  NaN    NaN    NaN    NaN NaN    NaN   NaN
   DOG     c1     c2     c3  c4     c5  DOG2
0  NaN  100.0    NaN    NaN NaN  100.0   0.0
1  NaN    NaN    NaN  500.0 NaN    NaN  20.0
2  NaN    NaN  300.0    NaN NaN    NaN  10.0
3  NaN    NaN    NaN  100.0 NaN  100.0  20.0
4  NaN  100.0  100.0    NaN NaN    NaN   0.0
5  NaN    NaN    NaN    NaN NaN    NaN   NaN
gna
Java › Seřazení knižních publikací
8. 2. 2020   #385437

S pomlčkami to není číslo a bez pomlček to není číslo.

S pomlčkami to není číslo a bez pomlček to nemůže házet chyby.

gna
Java › Seřazení knižních publikací
8. 2. 2020   #385436

S pomlčkami to není číslo a bez pomlček to není číslo. Ale ty nechceš jen odstranit pomlčky, protože pak nerozlišíš "1-02" a "10-2".

String[] publ = {"02-02", "2-03", "1-4"}; // "mm-dd"
System.out.println(Arrays.toString(publ));

Arrays.sort(publ, new Comparator<String>(){
    @Override
    public int compare(String s1, String s2) {
        String[] a1 = s1.split("-");
        String[] a2 = s2.split("-");
        int x = Integer.parseInt(a1[0]); // mm
        int y = Integer.parseInt(a2[0]);
        if (x == y) {
            x = Integer.parseInt(a1[1]); // dd
            y = Integer.parseInt(a2[1]);
        }
        return x - y;
    }
});
System.out.println(Arrays.toString(publ));
[02-02, 2-03, 1-4]
[1-4, 02-02, 2-03]

Samozřejmě nejlepší by bylo to od začátku mít v nějakém normalizovaném/porovnávatelném formátu, než to konvertovat při řazení.

gna
Java › Seřazení knižních publikací
7. 2. 2020   #385433

Takže ti to nevygeneruje 202, 203, 14?

gna
Python › python cyklus for cez viac s…
7. 2. 2020   #385431

Já vůbec nechápu co to má dělat.

gna
Java › Seřazení knižních publikací
7. 2. 2020   #385430

Funkce pro řazení umožňují zadat vlastní Comparator, kterým se jednotlivé prvky budou porovnávat. V něm si porovnání můžeš implementovat podle svých potřeb. Třeba jako převod stringů na čísla, která porovnáš.

gna
PHP › Úprava webu z 5,3 na 5,6
6. 2. 2020   #385424

Píše to nějaké chyby? Od 5.5 je rozšíření pro mysql označeno za zastaralé, ale pokud ho máš nainstalované, tak by mělo fungovat. Nic jiného tam nevidím.

gna
JavaScript, AJAX, jQuery › převod html obsahu do databáze
6. 2. 2020   #385420

Možná :) Napiš o tom víc.

gna
C / C++ › Mazání string
4. 2. 2020   #385407

#6 kubkot
Vždycky tam pointry budou, ale můžeš s nimi pracovat jako s polem.

Ale pointa byla v tom, že je tam jen ++ a ' ', tedy procházení po písmenech/slovech.

// otestuje jestli retezce `p` a `q`zacinaji stejnym slovem
int is_same(char *p, char *q)
{
	// prochazime retezce dokud nejsme na konci slova
	// a dokud se znaky na aktualni pozici rovnaji

	// pokud jsme v obou retezcich na konci slova
	// tak retezce zacinaji stejnym slovem
}

// otestuje jestli slovo `word` je v seznamu `set`
int is_any_of(char *word, char *set)
{
	// projdeme jednotliva slova `setu`
	// a porovname je s `word`
}

// z retezce `retezec` vymaze slova, ktera nejsou v seznamu `slova`
int delete_missing(char *retezec, char *slova)
{
	// projdeme jednotliva slova `retezce`
	// a pokud je slovo v seznamu `slova`
	// tak ho zkopirujeme do vystupu
		// a pokud to neni prvni slovo
		// tak nejdrive vlozime mezeru
	// jinak slovo preskocime a zvysime pocitadlo
}

Napiš si to jakkoliv jinak ti to vyhovuje.

gna
Python › randrange v ife
4. 2. 2020   #385403

Logika je tam úplně stejná:

X     Y     AND             X     Y     AND
False False False   <-X->   ''    ''    ''   (False)
False True  False   <-X->   ''    'aa'  ''   (False)
True  False False   <-Y->   'aa'  ''    ''   (False)
True  True  True    <-Y->   'aa'  'bb'  'bb' (True)

X     Y     OR              X     Y     OR
False False False   <-Y->   ''    ''    ''   (False)
False True  True    <-Y->   ''    'aa'  'aa' (True)
True  False True    <-X->   'aa'  ''    'aa' (True)
True  True  True    <-X->   'aa'  'bb'  'aa' (True)

Operandy se vyhodnocují jako booly, operátor funguje boolovsky, akorát výsledek není bool, ale původní hodnota operandu.

Když to použiješ v podmínce, tak se výsledek zase vyhodnotí jako bool a pořád to funguje podle očekávání.

A umožňuje to věci jako tohle:

from = message.sender or defaults.sender
gna
C / C++ › parsování řádku
3. 2. 2020   #385394

#7 Adela123
Správně, šlo by to hodit do cyklu. Už jich tam několik máš, tak víš, jak fungují. V čem je problém?

gna
C / C++ › parsování řádku
2. 2. 2020   #385386

#1 Adela123
Máš to tady správně vložené jako kód a přesto tam není žádne odsazení. To jsi odněkud zkopíroval(a), že?

Tak když aspoň víš, kde je problém, tak to prostě uprav na dvě čísla. 

void Parsovani(char *cisla, int &cislo1, int &cislo2){
	char *prvni = strtok(cisla, ";");
	char *druhe = strtok(NULL, ";");
	cislo1 = atoi(prvni);
	cislo2 = atoi(druhe);
}

A když už je to C++, tak trochu nevidím důvod to celé matlat v C.

gna
Python › Pomoc s while
2. 2. 2020   #385385

#3 shockwave

Místo teček nebude True ani False. Jsou tam proměnné, které jak název napovídá, můžou mít různé hodnoty.

While provádí kód dokud je splněna podmínka...

while podminka:
    ...

Ty máš složenou podmínku s operátorem and, která je splněna (True) pokud jsou splněny (True) obě podpodmínky...

podminka = xxx and yyy

První část testuje jestli se guess nerovná secret_word. Je tedy True pokud se hodnoty nerovají... 

xxx = guess != secret_word

Druhá část neguje out_of_guesses. Je tedy True pokud out_of_guesses je False...

yyy = not out_of_guesses

Prostě to přečti tak, jak to je, není tam nic k nepochopení... 

dokud (zadané-slovo se-nerovná tajnému-slovu
       a
       není vyčerpán-počet-pokusů):
  něco-delěj


gna
Chytré telefony, komunikátory a jejich OS › Prehrávanie flash na android…
1. 2. 2020   #385378

Je otázka, co myslíš Flash videem a co je zač to SWF. Pokud to SWF je přímo to "video", tak mě napadají 3 možnosti:

1. Je to nějaká animace naprogramovaná ve Flashi. Pak máš smůlu.

2. Je to video přehrávač naprogramovaný ve Flashi, ale je v něm vložené video v nějakém běžném formátu. Pak by mohlo jít ho extrahovat. (SWFTools, ...)

3. Je to běžný video soubor, ale špatně pojmenovaný, případně v nevhodném formátu. Zkus ho otevřít ve video přehrávači, který přelouská kdeco (VLC, ...) a pokud nutno ho zkonvertovat na něco "normálního" (ffmpeg, ...).

A pak ještě možnost, že to vůbec není video. Je to jen přehrávač, kterým přehráváš jiné video soubory. Pak ho nahraď přehrávačem v HTML5.

gna
Chytré telefony, komunikátory a jejich OS › Prehrávanie flash na android…
31. 1. 2020   #385374

Pokud jde jen o tebe, tak můžeš zkusit nainstalovat prohlížeč s vlastní podporou Flashe. Slyšel jsem chválu na Puffin. Nebo nainstalovat a povolit Flash samostatně. Netuším, jestli ještě jde.

Jesti mluvíš o vlastní stránce a chceš to rozchodit tak, aby to automaticky fungovalo všem návštěvníkům, tak to nepůjde. Obecně Flash už nikdo nepodporuje.

gna
.NET › xml Serilizace
28. 1. 2020   #385350

#6 Rufus
Ono by to v principu mělo fungovat. Poblém bude někde hlouběji.

Třeba práva na složce, že můžeš vytvářet a mazat, ale ne přepisovat soubory. Ale to bych čekal konkrétnější chybovou hlášku, tak nevím.

gna
MySQL › Select mezi třemi tabulky
25. 1. 2020   #385335

Mně se to teda nechce zkoušet, ale ať na to koukám, jak chci, tak nevidím, že by tam něco nemělo sedět. Akorát pokud tam chceš i nuly, tak první join bude left.

select objednavky.id, sum(produkty.uzivatel = uzivatele.id) from objednavky
left join ...
...
group by objednavky.id
gna
.NET › Kdy uvěřit webové stránce?
24. 1. 2020   #385322

jQuery ready se spouští před načtením dalších závislostí. Já jsem mluvil o JavaScriptovém window.onload, který se spouští až potom. Tam pak spustíš timer a dáš tomu ještě pár milisekund na vykreslení.

Co se týče toho bufferu, tak nic optimalizovat nemusíš, protože to bude blesková záležitost.

gna
.NET › Kdy uvěřit webové stránce?
24. 1. 2020   #385316

window.onload se spouští po načtení všech závislostí. Jestli pak ta stránka provádí ještě nějaké další brikule to už dost dobře nepoznáš. V CEF by to mělo jít odchytit, netuším jestli i v CefSharp.

gna
MS SQL › Výběr hodnot ze dvou tabulek…
22. 1. 2020   #385299

Takže jde o ten default? IIF/CASE.

gna
Python › Pomoc s vysvětlením kodu
21. 1. 2020   #385293

#6 MilanL
Ale gusto to spouští v IDLE (editor instalovaný s Pythonem) a ten syntax error asi bude starou verzí.

gna
MySQL › Převod porovnání databáze do…
21. 1. 2020   #385292

To není zašifrovaný bordel. Už jsem ti psal, že to je blbě zobrazené utf8. Sám jsi sem dal odkaz, ze kterého bys to mohl pochopit.

V lepším případě ti bude stačit se na ten dump databáze podívat v editoru podporujícím utf8 a bude to správně.

V horším případě máš ten text kódovaný dvakrát (nebo jinak rozvrtaný), takže budeš muset zkonvertovat data a opravit skripty.

gna
Python › Pomoc s vysvětlením kodu
20. 1. 2020   #385283

#4 gusto
f-stringy jsou v Pythonu od verze 3.6. Pravděpodobně máš starší verzi.

gna
MySQL › Převod porovnání databáze do…
20. 1. 2020   #385282

Dříve nebo později to rozjebeš tak, že přijdeš o data. Záloha ti bude k tomu, abys je mohl obnovit.

Text je vždycky nějak kódovaný a pro správné zobrazení je potřeba vědět jak. Někde ti nastavení nesedí s obsahem.

gna
MySQL › Převod porovnání databáze do…
16. 1. 2020   #385262

To ale v případě, že máš tu databázi opravu rozvrtanou. Možná jsi sypal utf8 do sloupců v latin1 (default MySQL) a při konverzi se ti vícebajtové znaky překopaly. Pořád je možnost, že jsou ty texty správně a jen je blbě zobrazuješ.

gna
MySQL › Převod porovnání databáze do…
16. 1. 2020   #385261

Co má být co by sis domyslel z kontextu, ale je to teda utf8, akorát interpretované jako (asi) latin1.

Jestli potřebuješ konverzní tabulku, tak si ji můžeš vygenerovat (toto je Python; v PHP asi funkcí iconv) 

>>> for c in 'ěščřžýáíéů':
...     print(c, c.encode(), c.encode().decode('latin1'))
... 
ě b'\xc4\x9b' Ä
š b'\xc5\xa1' Å¡
ř b'\xc5\x99' Å
ž b'\xc5\xbe' ž
ý b'\xc3\xbd' ý
á b'\xc3\xa1' á
í b'\xc3\xad' í
é b'\xc3\xa9' é
ů b'\xc5\xaf' ů
gna
MySQL › Převod porovnání databáze do…
16. 1. 2020   #385252

Je otázka v jakém stavu tu databázi máš. Jestli jsi tam sypal data v různém kódování a v různém stavu nastavení databáze a/nebo spojení, tak to úplně automaticky nepůjde.

Takže asi napsat skript, který všechna textová pole projde a nějak analyticky je přeformátuje a přeuloží. Nebo třeba databázi/tabulku dumpnout do texťáku, který ručně (hromadně) poopravuješ a naimportuješ zpátky.

gna
MySQL › Neustálé problémy s diakriti…
15. 1. 2020   #385238

To není rozbité, takhle se prostě utf8 kóduje. utf8mb4 umožňuje uložit víc znaků (oproti mb3), ale na principu to nic nezmění. Prostě text je v nějakém kódování (případně znakové sadě), které při přenosu/konverzi musíš znát/uvést, ale jinak je ti celkem ukradené. Prostě to musíš správně sypat do/z SQL a do/z HTML a není co řešit.

Akorát bych místo query set names použil set_charset. A ne jen před insertem, ale vždycky a hned po připojení.

gna
Python › Update položky u 3D pole
12. 1. 2020   #385203

Jen jsem to narychlo proletěl, ale v model_code_to_list asi nechceš, aby všechny položky byly ten samý objekt (z_list):

# model_code_to_list
y_list = [z_list for n in range(int(y))]

Můžeš třeba explicitně vytvářet kopii pro každou položku: 

y_list = [list(z_list) for n in range(int(y))]
gna
Python › Update položky u 3D pole
11. 1. 2020   #385200

Pokud ten list inicializuješ tak, jak je to tady, tak by k tomu nemělo dojít.

Předpokládám, že je to jen nějaký výpis obsahu a faktický kód, kterým to plníš, je jiný. Pak je problém v tom, že ty "podlisty" jsem ten samý objekt. Takže je nějak "odizoluj". Když ukážeš kód, tak ti ho opravím.

PS. I pak výsledek bude jiný než to očekávání, ale na to už asi přijdeš.

gna
Java › Jednoduché připojení přes pr…
5. 1. 2020   #385171

Asi na to bude nějaká šikovná knihovna, ale v čisté Javě (8) by mělo fungovat tohle: 

Proxy proxy = new Proxy(Proxy.Type.SOCKS, new InetSocketAddress("216.144.228.130", 15378));

URL url = new URL("http://ifconfig.me/ip");
URLConnection connection = url.openConnection(proxy);
InputStream inputStream = connection.getInputStream();

String text = new BufferedReader(new InputStreamReader(inputStream)).lines().collect(Collectors.joining("\n"));

System.out.println(text.trim());
gna
.NET › Oracle vs EF
30. 12. 2019   #385158
gna
Matematika › Parabola - výpočet bodů
22. 12. 2019   #385134

#6 BDS
Ano, **2 je druhá mocnina.

gna
Matematika › Parabola - výpočet bodů
22. 12. 2019   #385129

   

x0, y0 = 0, 22
x, y = 24, 0
k = (y - y0) / (x - x0)**2

for x in range(-24, 25):
    y = k * (x - x0)**2 + y0
gna
Matematika › Parabola - výpočet bodů
22. 12. 2019   #385127

Zkus tu vrcholovou rovnici. Ze známého vrcholu spočítej K a to pak použij pro výpočet dalších vrcholů.

gna
PHP › Obrázok PNG pri zmenšení zos…
21. 12. 2019   #385125

Jestli chceš tu průhlednost zachovat, tak v první řadě ten obrázek nekládej jako JPEG, přetože ten průhlednost nepodporuje.

gna
C / C++ › Mazání string
19. 12. 2019   #385117

Schválně jsem to napsal tak, že to budeš muset přepsat podle svého (a možná tam mám něco špatně), ale pro inspiraci to musí stačit.

int is_same(char *p, char *q)
{
	while (*p != ' ' && *p != 0 &&
	       *q != ' ' && *q != 0 &&
	       *p == *q) {
		p++;
		q++;
	}

	return ((*p == ' ' || *p == 0) &&
	        (*q == ' ' || *q == 0));
}

int is_any_of(char *word, char *set)
{
	while (*set)
	{
		while (*set == ' ')
			set++;
		if (is_same(word, set))
			return 1;
		while (*set != ' ' && *set != 0)
			set++;
	}

	return 0;
}

int delete_missing(char *retezec, char *slova)
{
	int deleted = 0;
	char *src = retezec, *dst = retezec;

	while (*src) {
		while (*src == ' ')
			src++;
		if (!*src)
			break;
		if (is_any_of(src, slova)) {
			if (dst != retezec)
				*dst++ = ' ';
			while (*src != ' ' && *src != 0)
				*dst++ = *src++;
		} else {
			deleted++;
			while (*src != ' ' && *src != 0)
				src++;
		}
	}
	*dst = 0;

	return deleted;
}

int main()
{
	char retezec[] = " tak se na to  podivame jak to pofrci ";
	char slova[] = "se to pofrci  na";

	int deleted = delete_missing(retezec, slova);
	printf("smazano %d, vysledek %s\n", deleted, retezec);

	return 0;
}
gna
C / C++ › Mazání string
19. 12. 2019   #385110

K jednotlivým znakům řetězce se dostaneš operátorem [], na průchod řetězcem můžeš použít for, na testování znaků if. Řetězce jsou ukončeny nulovým znakem.

Znaky z řetězce (resp. obecně prvky z pole) nejde vyloženě odstranit. Pokud máš měnit původní řetězec, tak to musíš udělat posunutím následujících znaků.

Z toho zadání mě napadá několik variant, jak by to mělo fungovat. Kdyžtak ukaž víc příkladů vstupních a výstupních hodnot.

gna
JavaScript, AJAX, jQuery › Reload PHP scriptu formuláře…
19. 12. 2019   #385107

#6 Gorri

Neuloží, nedokončí, nerefreshne. Blbosti tady meleš jen ty.

Ve formuláří máš "zprava" a "send". Víš, že data z POSTu budou v $_POST. Co teda čekáš od $_GET['name'] ?

gna
JavaScript, AJAX, jQuery › Reload PHP scriptu formuláře…
18. 12. 2019   #385100

To se povedlo, data se uloží, ale script se nezpracuje.

Co přesně tímhle myslíš?

gna
C / C++ › slovní fotbal
18. 12. 2019   #385099

Takže klucí, jestli si jen přehazujete kód, který nikdo z vás nenapsal, tak já v tomhle vlákně končím.

gna
C / C++ › slovní fotbal
18. 12. 2019   #385096

Některá pole inicializuje a jiná ne.

Jednou kopíruješ řetězec pomocí strcpy a pak zase po znacích. Někde řetězec ukončuješ nulovým znakem a jinde zase ne.

Při výpisu historie slov hlídáš jejich počet, ale při prohledávání ne.

Slovo do historie přidáváš bez ohledu na to jestli bylo platné.

Kód v tom defaultu ve switchi je nesmysl.

Moc pečlivě jsem to nečetl, ale jako máš tam všechno, co potřebuješ, takže ty věci znáš. Jen ses moc nesnažil :) Tak zkus tyhle věci poladit a pak ti napíšu(-eme) další :)

gna
C / C++ › Telefoní seznam
18. 12. 2019   #385089

Napiš si program, který přidá záznam (číslo+jméno) do souboru. fopen-fprintf-fclose.

A program, který vypíše obsah toho souboru. fopen-fscanf/fgets-fclose.

Pak to spoj dohromady. Uživatel ti něco zadá, ty projdeš soubor a vypíšeš odpovídající záznam(y). Když žádný takový nenajdeš, tak ho do souboru přidáš.

Píšu to samé, co napsal hlucheucho, víc nepotřebuješ. Úkoly vždy stojí na tom, co jste probírali. Nebo se zeptej na konkrétní věc, na které ses zaseknul.

gna
PHP › Proč PHP floor() vrací chybn…
16. 12. 2019   #385082

#1 Mark123132
Float má omezenou přesnost. 20438.94 je fakticky 20438.93999...

gna
.NET › C Cykly, 5 operací
16. 12. 2019   #385074

#3 Lukáš
A tohle jsi jen odněkud zkopíroval? Už teď tam máš pole, jeho procházení a testování hodnot. V čem je problém? Na tom, jak se to pole generuje, vůbec nesejde.

gna
C / C++ › četnost hodnot v matici
15. 12. 2019   #385067

   

hodnota = matice[j][i];
pocitadlo[hodnota] += 1;
gna
Python › Človeče nehnevaj sa
15. 12. 2019   #385065
gna
Python › Človeče nehnevaj sa
15. 12. 2019   #385063

U každé figurky víš, kde stojí. Tak po každém tahu zkontroluj, jestli jsou všechny v domečku.

gna
Visual Basic › Unikátní náhodné číslov poli
15. 12. 2019   #385061

Obecně můžeš hrubě generovat čísla dokud nedostaneš takové, které ještě v poli nemáš.

Nebo elegantněji, a v tomhle případě se to vyloženě nabízí, můžeš to pole naplnit řadou hodnot a pak ho zamíchat. (Každý prvek prohodíš s náhodně vybraným prvkem ze zbytku.)

gna
C / C++ › četnost hodnot v matici
15. 12. 2019   #385060

U takhle omezeného rozsahu si třeba můžeš udělat pole o 100 prvcích, které bude fungovat jako počitadlo výskytů jednotlivých hodnot a pak tu matici projdeš a pro každý prvek matice zvýšíš hodnotu příslušného čítače. Nakonec nenulové hodnoty vypíšeš.

gna
Python › Python tkinter tlačítko Back
11. 12. 2019   #385019

Skrytí a zobrazení okna není žádný problém. Když se ti ta okna hromadí, tak to máš nejspíš celé blbě. Ukaž kód.

gna
Python › Spuštění části kódu a shodné…
11. 12. 2019   #385009

Teoreticky můžeš importovat ty soubory tak, jak je máš, ale v přesunu do funkcí není problém.

# snake.py
neco
neco

# pong.py
cosi
cosi

# combined.py
def snake():
    neco
    neco

def pong():
    cosi
    cosi

Importy ve funkcích nevadí, ale mohl bys je vyhodit na začátek souboru.

gna
Python › Pomoc s vysvětlením kodu
11. 12. 2019   #385008

#6 shockwave
Protože if-else testuje hodnotu té proměnné (respektive libovolného výrazu) a podle toho provede blok if nebo else.

Nejdřív mástarted hodnotu False, tak se auto nastaruje a started se nastaví na True.

Když se pokusíš nastartovat znova a started je teda True, tak to zařve, že už je nastartováno.

Z předchozího kódu musí být jasné, jak if funguje. Koukni se na to od začátku.

 

 

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