Jkljk

função utilizando ponteiros que retorna 3 numeros ordenados

Sep 14th, 2020
1,151
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*Crie um programa com uma função do tipo void max(a,b,c) que recebe três
  2. inteiros, a, b e c (devem ser lidos no início da execução do programa). A
  3. função deve, então, salvar o maior valor em a, o segundo maior valor em b e
  4. o menor valor em c. Após isso deve-se exibir os novos valores de a, b e c.
  5. Ex.: para a=2, b=5 ,c=6, após executar a função, deve-se exibir “a=6, b=5 e
  6. c=2”.*/
  7.  
  8. #include <stdio.h>
  9. void max(int *a, int *b, int *c)
  10. {
  11.     int Vmaior=0, Vmenor=0, intermediario=0;
  12.     if(*a>*b && *a>*c)
  13.     {
  14.         Vmaior = *a;
  15.         *a=Vmaior;
  16.         if(*b > *c)
  17.         {
  18.             Vmenor=*c;
  19.             *c=Vmenor;
  20.             intermediario=*b;
  21.             *b=intermediario;
  22.         }
  23.         else
  24.         {
  25.             Vmenor=*b;
  26.             intermediario=*c;
  27.             *c=Vmenor;
  28.             *b=intermediario;
  29.         }
  30.     }
  31.     else if(*a<*b && *a<*c)
  32.     {
  33.         Vmenor=*a;
  34.         if(*b>*c)
  35.         {
  36.             Vmaior=*b;
  37.             intermediario=*c;
  38.             *a=Vmaior;
  39.             *b=intermediario;
  40.             *c=Vmenor;
  41.         }
  42.         else
  43.         {
  44.             Vmaior=*c;
  45.             intermediario=*b;
  46.             *a=Vmaior;
  47.             *b=intermediario;
  48.             *c=Vmenor;
  49.         }
  50.     }
  51.     else if(*b>*c)
  52.     {
  53.         Vmaior=*b;
  54.         Vmenor=*c;
  55.         intermediario=*a;
  56.         *a=Vmaior;
  57.         *b=intermediario;
  58.         *c=Vmenor;
  59.     }
  60.     else
  61.     {
  62.         Vmaior=*c;
  63.         Vmenor=*b;
  64.         intermediario=*a;
  65.         *a=Vmaior;
  66.         *b=intermediario;
  67.         *c=Vmenor;
  68.  
  69.     }
  70. }
  71.  
  72. int main()
  73. {
  74.     int *a, *b, *c;
  75.     puts("digite 3 valores inteiros");
  76.     scanf("%d",&a);
  77.     scanf("%d",&b);
  78.     scanf("%d",&c);
  79.     max(&a,&b,&c);
  80.     printf("a: %d\nb: %d\nc: %d\n",a,b,c);
  81. }
RAW Paste Data