Portál AbcLinuxu, 10. května 2025 11:21
Řešení dotazu:
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
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...
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í :(
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
#include <iostream>
pole[r][s]=1-(výraz)aby ses nemusel jistit absolutní hodnotou. Takhle to bude fungovat samozřejmě i u té šachovnice.
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"
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.