Esercizio in C

di il
4 risposte

Esercizio in C

Ciao a tutti!
Mi scuso per il disturbo, ma sono nuovo da queste parti.
Ho letto il regolamento e so che ogni utente deve postare la propria soluzione per poter ricevere una risposta. Per questo esercizio vi chiedo già scusa e vi imploro di perdonarmi perchè non so da dove partire! É un esercizio anche abbastanza banale ma io sono proprio fermo all'inizio.

L'esercizio è il seguente:

Nel file cross.c implementare la definizione della funzione :

extern void stampa_cross (unsigned int n);

La funzione deve inviare a stdout una X composta da un carattere 'x' al centro e caratteri '\' e '/' sulle diagonali. Ogni semi-diagonale deve essere composta di n caratteri. Ad esempio chiamando la funzione con n = 0, la funzione deve inviare su stdout solo il centro :

x

Chiamando la funzione con n = 2, la funzione deve inviare su stdout :

\ /
\ /
x
/ \
/ \

Io non voglio assolutamente che mi risolviate l'esercizio completamente .. Voglio solo alcuni suggerimenti su come iniziare e su quali funzioni particolari bisogna usare.. Io per esempio avevo pensato di usare una fputc ma occorre inserire dei File .. Eh non penso sia il caso..
Nell'attesa di una risposta vi ringrazio anticipatamente !

4 Risposte

  • Re: Esercizio in C

    Allora basta guardare l'esempio per trarre una conclusione.
    Per N=2 ti hai 5 righe da riempire, quindi in forma gerealizzata (2n + 1) righe da riempire.
    Sempre per N=2 hai 5 colonne da riempire, quindi in forma gerealizzata (2n + 1) colonne da riempire.
    Devi riempire solo le diagonali e mettere la X solo se i == j e se i = n.
    Riempi la diagonale principale (metti la \ ) solo se i == j e riempi la diagonale secondaria (metti la / ) solo se (i + j) == 2n

    Quindi sempre per N = 2

    Se i == j e se i != n metto la \
    Se i + j = 2n e se i = !n metto la /
    Se i == n metto la x

    Questa è l'idea che mi è venuta al momento. Ovviamente c'è ne saranno di migliori.
  • Re: Esercizio in C

    Mmh.. Forse ho capito il ragionamento..
    Grazie mille!
    Ti posso chiedere un'altra cosa ? Puoi considerare il tutto come una matrice ? E usare delle printf per inviare ad stdout ?
  • Re: Esercizio in C

    Ho nominato righe e colonne, quindi è sottointeso che sarà una matrice
  • Re: Esercizio in C

    Si scusa hai ragione.
    Grazie mille !
Devi accedere o registrarti per scrivere nel forum
4 risposte