Aiuto per programma con costrutto "For"

di Anonimizzato13857 il
12 risposte
Salve a tutti!

Vi chiedo una mano per creare questo programma, utilizzando il costrutto "For".

Dato (1<=N<=20) presentare:

- un quadrato di lato N di simboli '*' (asterisco)
- un quadrato di lato N dove il simbolo viene chiesto dall'utente
- un triangolo rettangolo con i due cateti di N '*'
- una diagonale di N '*' (sinistra - destra)
- una diagonale di N '*' (destra - sinistra)
- una piramide di '*' alta N righe

Grazie mille!

12 Risposte

  • Vi chiedo una mano per creare questo programma
    Spiacente ma io ne ho due.

    Leggi il regolamento.
    Posta il codice che stai usando negli appositi tag code.
  • vbextreme ha scritto:


    Vi chiedo una mano per creare questo programma
    Spiacente ma io ne ho due.

    Leggi il regolamento.
    Posta il codice che stai usando negli appositi tag code.

    non riesco a scriverlo il codice, non riesco neanche a partire ...
  • #include <stdio.h>
    #include <stdlib.h>
    
    
    int main ()
    {
        char input[80];
        printf(" Insert 1 <= N <= 20 :");
        gets(input);
        int n = atoi(input);
    
        if (n < 1 || n > 20)
        {
            puts("Ti avevo detto 1 <= N <= 20 !");
            return -1;
        }
    
        puts("\n\tQuadrato\n");
    
    
        int ix,iy;
        for (iy = 0 ; iy < n ; iy++ , putchar('\n'))
            for( ix = 0; ix < n ; ix++)
                putchar('*');
    
    
        return 0;
    }
    prosegui.
  • Ma sei malefico!

    Ma secondo te, un provero cristo che non riesce nemmeno a scrivere "int main(int argc, char** argv){ return 0; }" capisce che cosa vuol dire "iy++ , putchar('\n')" ??

    Suvvia, sii umano !
  • L'ho fatto apposta per evitare il cut && paste.Il prof non ci avrebbe mai creduto...
    deve usarla solo come linea guida.
    Poi lo riscrive come sa fare,ovvio.
  • Miglio avrei potuto fare di peggio:
    
    int main ()
    {
        char input[80];
        printf(" Insert 1 <= N <= 20 :");
        int n;
    
        if ( (n = atoi(gets(input))) > 20 || n < 1)
        {
            puts("Ti avevo detto 1 <= N <= 20 !");
            return -1;
        }
    
        puts("\n\tQuadrato\n");
    
        ((char*)memset(input,'*',n))[n] = '\0';
    
        int i;
        for (i = 0; i < n ; i++ )
            printf("%s\n",input);
    
    
        return 0;
    }
    
    o ancora piu offuscato...allora si che sarei stato un genio del male
  • Ho visto che funziona, grazie!

    solo che cose come "printf", "gets, "atoi", " putchar" non le ho mai viste.. non c'è un modo per sostituirle?

    so usare solo if/else,switch,while e for
  • Con le istruzioni del linguaggio senza usare funzioni non si può fare nulla ...

    E mi sembra difficile che tu non sappia cosa siano ...
  • No, non so proprio cosa siano.
  • Nemmeno la scanf? la printf? la getchar? putchar?
    una di queste le devi conoscere per forza,altrimenti abbiamo scoperto chi è il reale genio del male.
  • Mai sentite ahah
  • Redandre ha scritto:


    no, non so proprio cosa siano.
    Quindi i fatti sono due ... o tu non c'eri quando hanno spiegato l'uso di quelle funzioni oppure non puoi scrivere nessun programma.
Devi accedere o registrarti per scrivere nel forum
12 risposte