Niente da fare.
Ieri pomeriggio l'ho riguardato, ma non riesco a farlo funzionare.
Ho seguito il consiglio di ESSE-EFFE, ma non riesco a capire come gestire i due cicli 'for' (sempre che servano). La parte di codice che in rosso penso sia giusta (dovrebbe essere abbastanza immediato a cosa serva).

Grazie per la pazienza.

codice:
#include <stdio.h>
#define N 2


int main (int argc, char * argv[])
{
	int n;
	int riga, col;
	int a, b, ctrl;
	char car;
	int totdisp = 1;
	int cont = 0;

	printf ("\n\nLunghezza della disposizione con ripetizione utilizzando %d simboli: ", N);
	do
		scanf ("%d", &n);
	while (n <= 0);

	while (cont < n)
	{
		totdisp = N * totdisp;
		cont ++;
	}
	printf ("\nTotale combinazioni possibili: %d\n\n", totdisp);

	ctrl = totdisp;
	car = '+';
	b = 0;

	/*for (col = 0; col < totdisp; col ++)
	{
		for (riga = 0; riga < n; riga ++)
		{*/
			ctrl = ctrl / 2;
			for (a = 0; a < ctrl; a ++)
				printf ("%c", car);
			b = b + 1;
			if (b % 2 == 0)
				car = '+';
			else
				car = '-';
		/*}
		printf ("\n");
	}/*

	return 0;
}