Advertisement
Dany1858

Esercizio Cetto (classificare un triangoli con stringhe)

Oct 1st, 2014
574
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.41 KB | None | 0 0
  1. /*Disegnare il flow-chart e, successivamente, scrivere un programma C che
  2. classifichi un triangolo date le lunghezze dei suoi lati. Il programma deve
  3. implementare le seguenti funzionalità:
  4. a. Ricevere da tastiere 3 numeri interi corrispondenti alle lunghezze dei
  5.     lati
  6. b. Stabilire se il triangolo è valido, degenere o non valido
  7. c. In caso sia valido, stabilire se si tratta di un triangolo
  8.    i. equilatero, isoscele o scaleno
  9. Suggerimento: un triangolo è valido se ogni lato è strettamente minore
  10. della somma degli altri due, è degenere se un lato è uguale alla somma
  11. degli altri due;
  12. Approfondimento: stabilire se il triangolo è anche rettangolo, ovvero se
  13. rispetta il teorema di Pitagora (Cateto_1^2 + Cateto_2^2 = Ipotenusa^2).
  14. */
  15.      
  16. #include <stdio.h>
  17. #include <stdlib.h>
  18.    
  19.  
  20. int main()
  21. {
  22.   int i, aux;
  23.   int vet[3+1];
  24.   char risp='s';
  25.  
  26.                     /*Inizio/reinizio esercizio*/
  27.   while(risp=='s'){
  28.  
  29.                     /*carico elementi*/
  30.   for(i=0; i<3; i++){
  31.   printf ("Inserire valore del lato%d: \n", i+1);
  32.   scanf("%d" , &vet[i]);
  33.   }
  34.  
  35.                 /*ordino i lati*/
  36.   for(i=0; i<2; i++)
  37.      while(vet[i]<vet[i+1]){
  38.         aux=vet[i];
  39.         vet[i]=vet[i+1];
  40.         vet[i+1]=aux;
  41.         i=0;
  42.      }
  43.  
  44.                 /*ricapitolando*/
  45.   printf("elementi ordinati:\n");
  46.   for(i=0; i<3; i++)
  47.      printf("%d\t", vet[i]);
  48.      
  49.                 /*prima distinzione*/          
  50.   if(vet[0]==vet[1]+vet[2])
  51.     printf("\n\ntriangolo degenere (e' un segmento) ");
  52.  
  53.   else if(vet[0]<vet[1]+vet[2])
  54.     printf("\n\ntriangolo valido ");
  55.  
  56.   if(vet[0]>vet[1]+vet[2])
  57.     printf("\n\ntriangolo non valido ");
  58.  
  59.                  /*nello specifico*/
  60.   else{
  61.     if(vet[0]==vet[1] && vet[0]==vet[2] && vet[1]==vet[2])
  62.       printf("e equilatero");
  63.      
  64.     else if(vet[0]==vet[1] || vet[1]==vet[2])
  65.       printf("e isoscele");
  66.    
  67.     if(vet[0]*vet[0]==(vet[1]*vet[1]+vet[2]*vet[2]))
  68.       printf("e rettangolo");
  69.      
  70.     else if(vet[0]!=vet[1] && vet[0]!=vet[2] && vet[1]!=vet[2])
  71.       printf("e scaleno");  
  72.   }
  73.  
  74.   do{
  75.     printf("\nsi desidera reiniziare? (s o n)\n");
  76.     scanf("%1s", &risp);
  77.     if(risp!='s' && risp!='n')
  78.       printf("\nbabbisti? %c ti sembra una s o una n??", risp);
  79.   }
  80.   while(risp!='s' && risp!='n');
  81.   if(risp=='s') system("cls");
  82.   }  
  83.  
  84.   printf("Premere un tasto per uscire...");
  85.   getchar();  
  86.   return 0;
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement