Originariamente inviato da Dav3i
La parte di codice che in rosso penso sia giusta (dovrebbe essere abbastanza immediato a cosa serva).
Secondo me c'eri molto vicino. Una soluzione abbastanza generica potrebbe essere la seguente (evito di ripetere tutto il codice):
codice:
char car[] = "+-*/.....";
for (riga = 0; riga < totdisp; riga++)
{
a = riga;
for (col = 0; col < n; col++)
{
printf("%c", car[a % N]);
a /= N;
}
printf("\n");
}
Invece una soluzione semplificata/ottimizzata valida solo per N = 2 (cioè il quesito originario):
codice:
for (riga = 0; riga < totdisp; riga++)
{
for (col = 0; col < n; col++)
{
if (riga & (1 << col))
printf("+");
else
printf("-");
}
printf("\n");
}
HTH,