Aiuto in un compito, linguaggio:C

di il
6 risposte

Aiuto in un compito, linguaggio:C

Sto facendo un compito per scuola in cui mi chiede di mettere 3 numeri chiesti con un input, e mandarli in output in ordine decrescente, ma non funziona qualcuno per favore mi potrebbe aiutare?

#include <stdio.h>

main()
{
    int T1, T2, T3, a, b, c;
    
    printf("Temperatura n1: ");
    scanf("%d", &T1);
    
    printf("Temperatura n2: ");
    scanf("%d", &T2);
    
    printf("Temperatura n3: ");
    scanf("%d", &T3);

    if (T1 > T2)
    {
        a = T1;
        b = T2;
    }
    
    else
    {
        a = T2;
        b = T1;
    }
     
    if (T3 > a)
     {
        c = T2;
         b = T1;
         a = T3;
     }
     
     else
     {
         if (T3 > b)
         {
             c = b;
             b = T3;
         }
         
         else
         {
             c = T3;
         }
         
     }
     
     printf("c: %d \n",c );
     printf("b: %d \n",b );
     printf("a: %d \n",a );
}

6 Risposte

  • Re: Aiuto in un compito, linguaggio:C

    Che ragionamento hai fatto?
  • Re: Aiuto in un compito, linguaggio:C

    oregon ha scritto:


    Che ragionamento hai fatto?
    T1, T2, T3 dovrebbero essere le temperature che vengono inserite da tastiera e con if ed else vedendo se sono una maggiore dell'altra le posiziono dentro le variabili a,b,c.
  • Re: Aiuto in un compito, linguaggio:C

    Questo l'avevo capito ... era la sequenza di operazioni, il metodo che seguivi ... spiegacelo ...
  • Re: Aiuto in un compito, linguaggio:C

    oregon ha scritto:


    Questo l'avevo capito ... era la sequenza di operazioni, il metodo che seguivi ... spiegacelo ...
    questo è il diagramma di flusso che ho fatto https://drive.google.com/file/d/18YiHyHCSKcDxHYT2oCU_YbnNOvjS6GXK/view?usp=sharing
  • Re: Aiuto in un compito, linguaggio:C

    Ma alla fine, in c vuoi mettere il più grande e in a il più piccolo ? Hai controllato la prima If Else per cominciare? Cosa fa? Se inserisco 15, 22, 12 ?

    Confronta questo
    
    	if (T1 < T2)
    	{
    		a = T1;
    		b = T2;
    	}
    	else
    	{
    		a = T2;
    		b = T1;
    	}
    
    	if (T3 > a)
    	{
    		if (T3 < b)
    		{
    			c = b;
    			b = T3;
    		}
    		else
    		{
    			c = T3;
    		}
    	}
    	else
    	{
    		c = b;
    		b = a;
    		a = T3;
    	}
    		
  • Re: Aiuto in un compito, linguaggio:C

    oregon ha scritto:


    Ma alla fine, in c vuoi mettere il più grande e in a il più piccolo ? Hai controllato la prima If Else per cominciare? Cosa fa? Se inserisco 15, 22, 12 ?

    Confronta questo
    
    	if (T1 < T2)
    	{
    		a = T1;
    		b = T2;
    	}
    	else
    	{
    		a = T2;
    		b = T1;
    	}
    
    	if (T3 > a)
    	{
    		if (T3 < b)
    		{
    			c = b;
    			b = T3;
    		}
    		else
    		{
    			c = T3;
    		}
    	}
    	else
    	{
    		c = b;
    		b = a;
    		a = T3;
    	}
    		
    in c devo mettere il numero maggiore e in a il numero minore, comunque l'ho provato ed è perfetto, grazie mille cercherò adesso di capire dove ho errato
Devi accedere o registrarti per scrivere nel forum
6 risposte