training

Code I wrote during training
git clone git://git.bitsmanent.org/training
Log | Files | Refs | README

triangolo2.c (924B)


      1 /*
      2  * Esercizio 3.45
      3  * Dati 3 interi diversi da 0 determino se questi possono
      4  * rappresentare i lati di un triangolo rettangolo.
      5 */
      6 
      7 #include <stdio.h>
      8 
      9 int main()
     10 {
     11    int cat1, cat2, cat3;
     12    int valid = 0;
     13 
     14    printf("Inserire il valori [n n n]: ");
     15    scanf("%d%d%d", &cat1, &cat2, &cat3);
     16 
     17    /* Riassunto (non usare)
     18     * if (a*a == c*c - b*b && b*b == c*c - a*a && c*c == a*a + b*b)
     19    */
     20 
     21    /* Controllo il cateto 1 */
     22    if (cat1 != 0) {
     23       if (cat1 * cat1 == cat3 * cat3 - cat2 * cat2)
     24          ++valid; 
     25    }
     26 
     27    /* Controllo il cateto 2 */
     28    if (cat2 != 0) {
     29       if (cat2 * cat2 == cat3 * cat3 - cat1 * cat1)
     30 	 ++valid;
     31    }
     32 
     33    if (cat3 != 0) {
     34       if (cat3 * cat3 == cat1*cat1 + cat2*cat2)
     35 	 ++valid;
     36    }
     37 
     38    if (valid == 3)
     39       printf("Valori validi: %d, %d e %d\n", cat1, cat2, cat3);
     40    else
     41       printf("Valori NON validi: %d, %d e %d\n", cat1, cat2, cat3);
     42 
     43    return 0;
     44 } /* E0F main */
     45