Non so come realizzare questo programma in C

di il
9 risposte

Non so come realizzare questo programma in C

L'esercizio chiede...scrivere un programma che legga 3 interi != 0, e che determini se possono essere i lati di un triangolo rettangolo.

dovrei farlo però, solo con if/else, while...niente strutture for, o do...non le ho fatte...ma non saprei come fare...qualche suggerimento?

9 Risposte

  • Re: Non so come realizzare questo programma in C

    In pseudo codice come lo faresti? cioè quali sono le condizioni percui i lati si possono dire essere appartenenti ad un triangolo rettangolo. Vedrai che con un if te la cavi.
  • Re: Non so come realizzare questo programma in C

    Bhè..le condizioni per cui un triangolo sia rettangolo...è che abbia angoli rispettivamente di...90°, 60°, 30°...inserendo i tre numeri, !=0 con un ciclo..l'unica nidificazione che mi viene in mente, è quella di controllare caso per caso...quando il solo numero inserito, 3 volte...sia o meno uguale agli angoli...
  • Re: Non so come realizzare questo programma in C

    E se inceve applicassi il teorema di pitagora? + semplice e un if solo?
    Se a^2 + b^2 = c^2 allora abbiamo triangolo rettangolo.
  • Re: Non so come realizzare questo programma in C

    Dimmi se ti piace questo
    
    
    
    #include <stdio.h>
    
    main()
    {
          int number, largest, toplargest, extralargest, counter;
          
          largest = 0;
          toplargest = 0;
          extralargest = 0;
          counter = 1;
          
          while(counter <= 3){
          
              printf("Inserisci il numero dell'angolo del triangolo: ");
              scanf("%d", &number);
              
          if(number > extralargest){
                    
          
            largest = toplargest;
            toplargest = extralargest;
            extralargest = number;
            }
          else
              if(number > toplargest){
                toplargest = number;
                }
          else
             if(number > largest){
               largest = number;
               }
          ++counter;
          }
                
          if((largest * largest) + (toplargest * toplargest) == (extralargest * extralargest))
          
          printf("\n\n\nSono i lati di un triangolo rettangolo!!");
          
          return 0;
          }
    
  • Re: Non so come realizzare questo programma in C

    Ottimo. Come avevo previsto serve solo un if
  • Re: Non so come realizzare questo programma in C

    Si...però, non sapevo come trovare la giusta sequenza, e ho risolto, cosi...quindi è possibile mettere i numeri in input, casualmente...poi il programma farà prima ordine, e poi eseguira l'equazione...ti ringrazio ancora...
  • Re: Non so come realizzare questo programma in C

    In realtà...non era corretto, poichè, nella sequenza di ordine decrescente, mancava un istruzione per declassare il numero piu piccolo:
    
    
    
    #include <stdio.h>
    
    int main()
    {
          int number, largest, toplargest, extralargest, counter;
          
          largest = 0;
          toplargest = 0;
          extralargest = 0;
          counter = 1;
          
          while(counter <= 3){
          
              printf("Inserisci il numero dell'angolo del triangolo: ");
              scanf("%d", &number);
              
         
          
          if(number > extralargest){
                    
          
            largest = toplargest;
            toplargest = extralargest;
            extralargest = number;
            }
          else
              if(number > toplargest){
              largest = toplargest;
              toplargest = number;
                }
          else
             if(number > largest){
               largest = number;
               }
          ++counter;
          }
          
          
          
          printf("\n\nIl piu grande inserito e': %d", extralargest);
          printf("\n\nIl secondo grande inserito e': %d", toplargest);
          printf("\n\nIl terzo grande inserito e': %d", largest);
          
          if(largest + toplargest == extralargest){
          
          printf("\n\n\nSono i lati di un triangolo rettangolo!!");
          }
          return 0;      
    }
    
    
    
    ora l'esercizio è corretto e funzionale
  • Re: Non so come realizzare questo programma in C

    Adesso non è corretto ancora in quanto non stai applicando il teorema di pitagora. La somma dei quadrati dei lati dev'essere uguale al quadrato dell'ipotenusa.
  • Re: Non so come realizzare questo programma in C

    Ah si si...mi sono dimenticato dei quadrati...ma comunque mi torna nel programma che ho scritto...vabbè...a fine giornata sono un po cotto...comunque si...ma ci sono...al prossimo dubbio....ehheheh
Devi accedere o registrarti per scrivere nel forum
9 risposte