C programozás, sakktábla, segítség?!?
Elvileg a kis sakktábla programomnak így kéne kinéznie C-ben:
for(i=0;i<9;i++)
{
for(j=0; i<9; j++)
{
if(!((i+j)%2)){t[i][j]='X';}
else{t[i][j]='A';}}}
Az a kérdésem lenne, hogy ezt hogy íratom ki? Még elég kezdő vagyok és több dolgot próbáltam az egyik a PUTCHAR, de ezzel csak üres fekete képernyőt kaptam, a másik a PRINTF, de nem tudtam, hogy kéne beírni és végtelen ciklus lett a végén nem egy sakktábla(sortól sorig írta az AX-eket.
Valami tanács?
Végtelen ciklus ettől lesz:
for(j=0; i<9; j++)
Ugye itt j-t kéne a feltételbe...
Szerintem emiatt nem ment a putchar sem.
int main()
{
int i, j;
int t[9][9];
for(i=0;i<9;i++)
{
for(j=0; j<9; j++)
{
if(!((i+j)%2)){t[i][j]='X';}
else{t[i][j]='A';}}}
putchar((i+j)%2?'X':' ');
return 0;
}
ez lett a teljes programom, lehet, hogy rosszul használom a putchar-t?
Nem használod rosszul, de így, GYK-ról nézve nem úgy látom, hogy a ciklusmagban hívnád meg, hanem inkább utána. Így csak egyszer hívódik meg, 9+9=18 értékkel, amelyre %2 nyilván 0 (tehát hamis) lesz. (Azért a két 9, mert mind i, mind j ezzel az értékkel nem fogja teljesíteni a ciklusaid feltételeit). Tehát: rakd eggyel beljebb.
Aztán ha ciklusmagba is raknád, mindent egy sorban írna ki. Írass ki a belső for ciklus után egy '\n'-t (soremelést).
Másik, hogy ha így alkalmazod, felesleges a tömböt használni.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!