abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
včera 23:45 | Zajímavý software

Na blogu Qt bylo představeno Qt 3D Studio. Jedná se o produkt dosud známý pod názvem NVIDIA DRIVE™ Design Studio. NVIDIA jej věnovala Qt. Jedná se o několik set tisíc řádků zdrojového kódu. Qt 3D Studio bude stejně jako Qt k dispozici jak pod open source, tak pod komerční licencí. Ukázka práce s Qt 3D Studiem na YouTube.

Ladislav Hagara | Komentářů: 4
včera 17:50 | Komunita

Nadace The Document Foundation (TDF) zastřešující vývoj svobodného kancelářského balíku LibreOffice slaví 5 let od svého oficiálního vzniku. Nadace byla představena 28. září 2010. Formálně byla založena ale až 17. února 2012.

Ladislav Hagara | Komentářů: 0
včera 12:50 | Komunita

Mozilla.cz informuje, že dosud experimentální funkce Page Shot z programu Firefox Test Pilot (zprávička) se stane součástí Firefoxu. Page Shot je nástroj pro vytváření snímků webových stránek. Umí výběr oblasti, prvku stránky (např. odstavce), nebo uložení snímku celé stránky. Snímky lze ukládat na disk nebo nahrávat na server Mozilly. Nedávno bylo oznámeno, že se součástí Firefoxu stane Activity Stream.

Ladislav Hagara | Komentářů: 24
včera 04:10 | Nová verze

Po 10 týdnech vývoje od vydání Linuxu 4.9 (zprávička) oznámil Linus Torvalds, mj. již 20 let žijící v USA, vydání Linuxu 4.10 (LKML). Přehled nových vlastností a vylepšení například na Kernel Newbies a v Jaderných novinách (1, 2 a 3). Kódové jméno Linuxu 4.10 je Fearless Coyote.

Ladislav Hagara | Komentářů: 10
19.2. 15:55 | Zajímavý projekt

Vyzkoušet si příkazy a vyřešit několik úkolů lze na stránkách Commandline Challenge (CMD Challenge). Úkoly lze řešit různými způsoby, důležitý je výsledek. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

Ladislav Hagara | Komentářů: 18
18.2. 17:35 | Bezpečnostní upozornění

Německá Bundesnetzagentur (obdoba českého ČTU) zakázala na německém území prodej panenky Cayla kvůli „špionáži“ dětí. Tato elektronická hračka obsahuje mikrofon, reproduktor a kameru a bezdrátové komunikační rozhraní, pomocí kterého se hračka připojuje na servery výrobce. Takovýmto způsobem může hračka pomocí umělé inteligence „odpovídat“ na dotazy dítěte. Hlavní problém bude ale asi někde jinde, podle prvotních zpráv může

… více »
Petr Tomášek | Komentářů: 33
17.2. 15:30 | Bezpečnostní upozornění

CSIRT.CZ upozorňuje, že bezpečnostní experti objevili nový typ malwaru, jenž cílí na open source e-commerce platformu Magento. Malware je zajímavý tím, že se jedná o první svého druhu, jehož kód zůstává skrytý v SQL databázi zasaženého e-shopu. Škodlivý kód je volán pomocí tzv. SQL trigerru, který je spouštěn při každém vytvoření objednávky v systému.

Ladislav Hagara | Komentářů: 4
17.2. 09:00 | Nová verze

Bylo vydáno Ubuntu 16.04.2 LTS, tj. druhé opravné vydání Ubuntu 16.04 LTS s kódovým názvem Xenial Xerus. Přehled novinek v poznámkách k vydání a v přehledu změn.

Ladislav Hagara | Komentářů: 60
17.2. 06:00 | Zajímavý článek

Pavel Tišnovský se v dvoudílném článku na MojeFedora.cz věnuje tvorbě pluginů (modulů) pro bitmapový grafický editor GIMP. Pomocí pluginů lze GIMP rozšiřovat o další funkce. Implementovat lze například nové filtry nebo pomocné utility pro tvorbu animací či poloautomatickou retuš snímků.

Ladislav Hagara | Komentářů: 6
16.2. 23:32 | Komunita

Do 30. března se lze přihlásit do dalšího kola programu Outreachy, jehož cílem je přitáhnout do světa svobodného a otevřeného softwaru lidi ze skupin, jež jsou ve světě svobodného a otevřeného softwaru málo zastoupeny. Za 3 měsíce práce, od 30. května do 30. srpna 2017, v participujících organizacích lze vydělat 5 500 USD. Jedná se již o 14. kolo tohoto programu.

Ladislav Hagara | Komentářů: 11
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (13%)
 (2%)
 (72%)
 (3%)
 (10%)
Celkem 674 hlasů
 Komentářů: 61, poslední dnes 13:06
Rozcestník
Reklama

Dotaz: C++ – práce s poli

28.10.2010 16:11 atomic1977
C++ – práce s poli
Přečteno: 840×
Nevi nahodou někdo jak c++ napsat script který by každý lichý řádek dvourozměrného pole naplnil jedničkami nebo aby nastavil prvky ve čtvercovém dvourozměrném poli na hodnoty 0 a 1 tak, aby 0 a 1 tvořily šachovnici. Moc by mi to pomohlo chystám se na test do školy a nějak tomu nemužu přijít na kloub. Potřeboval bych nějaký příklad na prozkoumáni. Dik.

Řešení dotazu:


Odpovědi

Řešení 1× (HS)
28.10.2010 18:19 Radovan
Rozbalit Rozbalit vše Re: práce s poli
To vážně nezvládneš něco jako tohle?
for(r=0;r<radku;++r)
    for(s=0;s<sloupcu;++s)
        pole[r][s]=((r%2)^(s%2));
...
Pokud by ti nevyhovovalo rozložení jedniček a nul na šachovnici, zkus !((r%2)^(s%2)), zjednodušit to jen na řádky už bys měl dokázat sám ;-)
28.10.2010 19:35 Vita
Rozbalit Rozbalit vše Re: práce s poli
Ok, ale jak bys napsal aby ti to vyhodilo např.:

00000 11111 00000 11111 00000 prostě 0 a 1 pod sebou :-) ?

28.10.2010 19:49 kuka
Rozbalit Rozbalit vše Re: práce s poli
To bys mel na zaklade toho predchoziho prikladu opravdu zvladnout sam za dobu srovnatelnou s polozenim dotazu. Zkus se nad tim nejprve zamyslet a zeptej se pak konkretne, co ti neni jasne nebo co ti nefunguje.
28.10.2010 19:56 Vita
Rozbalit Rozbalit vše Re: práce s poli
Chápu, že to pro Vás jakožto zkušené borce je velice primitivní, ale prostě jsem se na tom zasekl a už se nehnu :-( Potřebuji to vidět jak to je napsáno. Díky
28.10.2010 20:04 kuka
Rozbalit Rozbalit vše Re: práce s poli
Je to videt o kousek vys. Pravdepodobne nerozumis tomu prikladu se sachovnici, asi nekterym pouzitym operatorum (?). Pro sachovnici se vypisuje na sudych radcich jednicka do lichych sloupcu a na lichych radcich do sudych sloupcu. To co ty chces je zjednoduseni, kdy se o sloupce nemusis starat.
28.10.2010 20:13 Vita
Rozbalit Rozbalit vše Re: práce s poli
Ok. už to mám. Díky
28.10.2010 20:11 Radovan
Rozbalit Rozbalit vše Re: práce s poli
Napsal bych to úplně stejně, jen s nepatrně "odlehčeným" řádkem 3. Což by samozřejmě platilo i v případě že bys chtěl jedničkové a nulové sloupce místo řádků :-D
A ještě víc bych si vyhrál, kdyby tam bylo potřeba dosadit jiné hodnoty, třeba -3 a 15:
pole[r][s] = ((r%2) ^ (s%2)) ? -3 : 15;
Za zkušeného borce mě nepovažuj, prostě si vyzkoušej co udělá to %2 s jakýmkoliv číslem a použij to. Já jsem tam dal tu složitější možnost, kde se s řádky a sloupci provádí ještě XOR, tobě stačí jen půlka toho výrazu...
Ukaž kód co máš, já se tím zkusím nějak prokousat.
28.10.2010 20:36 Vita
Rozbalit Rozbalit vše Re: práce s poli
Díky fakt mi to hodně pomohlo, už mám jen poslední dotaz, takto mi ty řádky začínají 0 a co kdyby to chtěl, ať to začíná 1? Jak by si to napsal?

Jakože aby na výstupu bylo

1111 0000 1111 0000 Pod sebou..
28.10.2010 20:46 atomic1977
Rozbalit Rozbalit vše Re: práce s poli
Jestli ti to funguje mužeš sem postnout cely fragment kodu prosím mě to nějak nechce šlapat asi nastavuji špatně proměnné. Dik
28.10.2010 20:53 Vita
Rozbalit Rozbalit vše Re: práce s poli
Tak už jsem na to přišel sám (zázrak). Díky tedy moc za pomoc.

28.10.2010 21:11 atomic1977
Rozbalit Rozbalit vše Re: práce s poli
Mrkněte na tohle co je v tom špatně ?

using namespace std;

int main(void) { int matice[15][10]; int i, j;

for (i = 0; i < 6; i++) for (j = 0; j < 3; j++) matice[i][j] = ((i%2)^(j%2)); }

Zkompiluje se to normalně ale na vystupu nic není :(
28.10.2010 21:35 atomic1977
Rozbalit Rozbalit vše Re: práce s poli

Mrkněte na tohle co je v tom špatně ?

using namespace std;

int main(void)

{

int matice[15][10];

int i, j;

for (i = 0; i < 6; i++)

for (j = 0; j < 3; j++)

matice[i][j] = ((i%2)^(j%2));

}

Zkompiluje se to normalně ale na vystupu nic není :(

28.10.2010 21:46 kuka
Rozbalit Rozbalit vše Re: práce s poli
Na jakem vystupu? Ten program neco zapisuje na vystup? Co? Jak?
28.10.2010 22:16 Radovan
Rozbalit Rozbalit vše Re: práce s poli
Co zatím vidím, vypadá celkem funkčně, až na jednu podstatnou drobnost. Ono na výstupu ani nic být nemůže, když na něj nic nepíšeš! Máš zatím jen první půlku programu, která ti v tom poli vytvoří požadovaný vzorek. Teď musíš napsat ještě druhou, která ti to pole vypíše. Použij stejné smyčky se stejnými parametry, akorát místo přiřazení zkus vypisovat. Já C++ neumím a nejde mi tu ani zkompilovat (asi mi něco v GCC chybí, hraju si jen s Céčkem), takže to nemůžu vyzkoušet, ale mělo by tam být něco takového:
for (i = 0; i < vyska; i++)
{
    for (j = 0; j < sirka; j++)
        cout << matice[i][j];
    cout << endl;
}
Snad to není moc blbě, nějak to musíš přebrat :-) Hlavně jestli víš proč tam přibyly ty složené závorky!
Ještě bych ti doporučil ty číselné konstanty 6 a 3 ve všech smyčkách nahradit třeba proměnnými (jako jsou ty vyska a sirka), do kterých si na začátku programu vložíš požadované rozměry matice, kromě jiného (hlavně zbytečných chyb a překlepů) ti to ušetří čas, když budeš potřebovat některý parametr změnit, nebudeš muset hledat kde všude se ti v programu vyskytuje...
No a nakonec, když už máš int main(), kde int znamená typ návratové hodnoty, tak bys měl mít program (ona je to vlastně také funkce jako ty ostatní) ukončený return 0, aby ten program který ho spustil poznal že skončil úspěšně a bez chyb ;-)
Saljack avatar 29.10.2010 14:38 Saljack | skóre: 28 | blog: Saljack | Praha
Rozbalit Rozbalit vše Re: práce s poli
Ještě si zapoměl aby importoval iostream (případně ostream), protože si myslím, že to ho také nenapadne, takže na začátek toho zdrojáku přidej:
#include <iostream>
Sex, Drugs & Rock´n Roll.
28.10.2010 20:54 Radovan
Rozbalit Rozbalit vše Re: práce s poli
Možností je několik, můžeš to udělat stejně jako jsem v tom prvním příkladu nechal "otočit" hodnotu jednotlivých polí, pomocí !(výraz), akorát ti nezaručím že při použití jiného překladače místo 1 nevyjde -1 :-D
Druhá možnost je prostě to políčko odečíst od jedničky, takže
pole[r][s]=1-(výraz)
aby ses nemusel jistit absolutní hodnotou. Takhle to bude fungovat samozřejmě i u té šachovnice.
29.10.2010 17:40 Sten
Rozbalit Rozbalit vše Re: práce s poli
!(výraz) vrací vždy true (1) / false (0), nikdy nemůže vrátit jinou hodnotu. 0 a -1 by vracel operátor ~ (binární negace).
30.10.2010 08:40 Radovan
Rozbalit Rozbalit vše Re: práce s poli
Jo, na to že to bude 1 sice také spoléhám, ale kdysi dávno jsem někde zažil že true bylo -1. Je to taková moje malá noční můra. Počítače jsou bestie zákeřné a nikdy se nedá spoléhat na to že od nich dostaneš to co očekáváš :-D
Saljack avatar 30.10.2010 09:28 Saljack | skóre: 28 | blog: Saljack | Praha
Rozbalit Rozbalit vše Re: práce s poli
Tohle se může stát?
Sex, Drugs & Rock´n Roll.
30.10.2010 11:11 Radovan
Rozbalit Rozbalit vše Re: práce s poli
Už jsem to našel, musel jsem se trochu pohrabat v hlubinách disku :-D Dělal to microsoftí QuickBasic, QBasic a starý GWBasic také, takže to byla "vlastnost". Zatím jsem si nic novějšího od nich nevyzkoušel, všas jsem tenhle pochybný směr vývoje opustil, takže netuším jak to funguje v jejich nástupcích: Visual Basic, C#, .NET... Každopádně bych se toho pro jistotu obával a ověřil si to předem.
Saljack avatar 30.10.2010 13:46 Saljack | skóre: 28 | blog: Saljack | Praha
Rozbalit Rozbalit vše Re: práce s poli
Ježiš to je zvěrstvo :-D.
Sex, Drugs & Rock´n Roll.
30.10.2010 16:44 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: práce s poli
No jo, je lepší přemýšlet: „True = něco jiného než false.“ :)
(False = 0 a cokoliv jiného je true.)
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
30.10.2010 21:58 Radovan
Rozbalit Rozbalit vše Re: práce s poli
Přemýšlet musíš ještě víc, ale hlavně nesmíš důvěřovat, mě by třeba fakt nikdy nenapadlo že
PRINT (1=1)
mi dá výsledek -1, a když jsem tenkrát v minulém tisíciletí přecházel z Didaktiku na PC a převáděl svoje prográmky do QBasicu, tak jsem se hodně trápil s podobnými "drobnostmi" ;-) Oni redmondští mají vůbec dost divnou logiku, třeba to jejich slavné RND(0) a RND(1)...

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.