Figure geometriche in C

di il
12 risposte

Figure geometriche in C

Ciao a tutti,
volevo sapere come si fa a creare un triangolo equilatero in C. L'idea che ho avuto è di realizzare due triangoli rettangoli, però non riesco a farlo

12 Risposte

  • Re: Figure geometriche in C

    Basta che i due triangoli abbiano angoli di 30, 60 e 90 gradi e poi li unisci. Facile no?

    P.S. Sto scherzando, ma anche tu mi pare Cosa stai dicendo?
  • Re: Figure geometriche in C

    Barba perdonami ho formulato male la domanda..cmq posto la traccia dell'esercizio..
    Scrivere un programma C che acquisisca in input da tastiera un valore
    intero positivo N <= 40 corrispondente alla base di un triangolo rettangolo
    e isoscele, e che riproduca a video tale triangolo utilizzando il carattere
    ‘*’.
    Esempio: se il valore letto da tastiera è 3, a video dovrà essere visualizzata
    la seguente serie di caratteri
    *
    **
    ***
    Approfondimento: considerare forme geometriche alternative, quali il
    triangolo equilatero, il quadrato, ecc… a scelta

    Io voglio realizzare un triangolo equilatero,ma non riesco a farlo..
  • Re: Figure geometriche in C

    Ciao Pinuzzo,

    Un triangolo rettangolo isoscele ha gli angoli di 45, 45 e 90 gradi quindi si riesce a disegnare con gli asterischi, perchè aumentando di uno ad ogni riga formano un angolo di 45 gradi (supponendo che occupino una zona quadrata)
    
    *
    **
    ***
    
    Se li fai crescere di due ogni riga, avrai gli angoli di 26.6, 63.4, 90 che approssima abbastanza bene mezzo triangolo equilatero (30, 60, 90)
    
    *
    ***
    *****
    
    Quindi per il triangolo completo ogni riga sucessiva deve aumentare di 4 asterischi e l' inizio spostarsi a sinistra di 2.
    Ti basta questo? Se hai delle difficoltà posta il codice che hai scritto poi ne parliamo (ti ricordo che il regolamento vieta di svolgere compiti scolastici per cui il codice lo devi scrivere tu).
  • Re: Figure geometriche in C

    Grazie mille ..
    Il triangolo mi esce in questo modo e non capisco cosa sbaglio:
    *
    **
    ***
    ***
    Ecco il codice:
    
    #include <stdio.h>
    #include <stdlib.h>
    #define N 3
    int main ()
    {
        int i,j;
    
       for (i=0;i<(N);i++){
            printf ("*\n");
            for (j=0;j<(i+1);j++)
            printf ("*");
            }
    return 0;
  • Re: Figure geometriche in C

    Strano sistema! Non ti conviene prima stampare una riga di asterischi e dopo l' a-capo?
  • Re: Figure geometriche in C

    Intendevi questo giusto?..così mi esce grazie
    
    #include<stdio.h>
    #include<stdlib.h>
    #define N 3
    int main ()
    {
        int i,j;
    
    
        for (i=0;i<N;i++){
            for (j=0;j<i;j++)
            printf ("*");
            printf ("*\n");
        }
    
    return 0;
    }
    
  • Re: Figure geometriche in C

    Ottimo! Adesso per fare il triangolo equilatero potresti prima fare questo (in cui le linee si incrementano di due)
    
    *
    ***
    *****
    *******
    
    e poi questo, in cui inserisci degli spazi prima degli asterischi
     
         *
        ***
       *****
      *******
    
  • Re: Figure geometriche in C

    Per favore potreste gentilmente farmi vedere il codice dell'ultima figura?
    grazie mille
  • Re: Figure geometriche in C

    La discussione è di 3 anni fa!!

    Crea un nuovo thread ed esponi il problema provando a dare una tua soluzione ...
  • Re: Figure geometriche in C

    Buongiorno,

    ho creato questo codice per disegnare un triangolo iscoscele ma il risultato è un triangolo rettangolo. potete gentilmente darmi una mano:

    #include <stdio.h>
    #include <stdlib.h>
    int main(void)
    {
    int lato ;
    int riga, colonna, rest;
    char c;
    printf("Inserisci un carattere: ") ;
    scanf("%c", &c) ;
    printf("Inserisci il lato del triangolo (numero dispari): ") ;
    scanf("%d", &lato) ;
    rest = lato % 2;
    if (rest == 0)
    printf("Errore, il lato deve essere un numero dispari\n") ;
    else if ( lato <=0 )
    printf("Errore, il lato deve essere maggiore di zero\n");
    else
    {
    riga = 0 ;
    while ( riga < lato )
    {
    colonna = 0 ;
    while ( colonna <= riga )
    {
    printf("%c",c) ;

    colonna = colonna + 1 ;
    }
    printf("\n") ;
    riga = riga + 1 ;
    }
    }
    exit(0) ;
    }
  • Re: Figure geometriche in C

    Ma perché non crei un tuo thread nuovo invece di continuare a scrivere in thread di altri?
  • Re: Figure geometriche in C

    Creato un nuovo thread! nella sezione Area SW C/C++
Devi accedere o registrarti per scrivere nel forum
12 risposte