Disegnare figure geometriche

di il
4 risposte

Disegnare figure geometriche

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) ;
}

4 Risposte

  • Re: Disegnare figure geometriche

    Salve
    Il tuo codice non è errato perché è vero che il triangolo disegnato è rettangolo, ma è anche isoscele.
  • Re: Disegnare figure geometriche

    Si infatti! però se volessi rappresentarlo in questa forma ?( ad esempio base=5)

    *
    ***
    *****
  • Re: Disegnare figure geometriche

    Modificando il tuo codice:
    
    	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\n");
    			riga = riga + 2;
    		}
    	}
    
    	exit(0);
    
    Scusami se non ti ho risposto subito ma ho avuto molte cose da fare.
  • Re: Disegnare figure geometriche

    Grazie!
Devi accedere o registrarti per scrivere nel forum
4 risposte