Advertisement
Jkljk

Atividades de EDA

Aug 14th, 2019
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.40 KB | None | 0 0
  1. //4-dado um vetor de inteiros e o seu numero de elementos, crie uma funçao recursiva que inverta a posiçao dos
  2. //seus elementos
  3.  
  4. #include <stdio.h>
  5. int max(int n, int v[])
  6. {
  7.     int x;
  8.     if(n==1) x=v[0];
  9.     else
  10.     {
  11.         x=max(n-1, v);
  12.           if(x<v[n-1]) x=v[n-1];
  13.     }
  14.     return x;
  15. }
  16. int main()
  17. {
  18.     int x, y[]= {5,9,3,-5,4};
  19.     x=max(5,y);
  20.     printf("x=%i",x);
  21. }
  22.  
  23.  
  24. //2-implemente uma funçao recursiva soma(n) que calcula o somatorio dos n primeiros
  25. //numeros inteiros. escreva e resolva a equaçao de recorrencia dessa funçao.
  26. #include <stdio.h>
  27. int soma(n)
  28. {
  29.     int a;
  30.     if(n==1)
  31.         return n;
  32.     else
  33.     return n+soma(n-1);
  34. }
  35. int main()
  36. {
  37.     int n=5;
  38.     printf("a soma recursiva de %d: %d\n",n, soma(n));
  39.  
  40. }
  41.  
  42.  
  43. //9-construa uma funcao recursiva que calcula a divisao usando subtracoes sucessivas
  44. //dados int div(int x, int y);
  45.  
  46. //apenas divisoes inteiras ex: 25/5=5
  47. #include <stdio.h>
  48. int div(int x, int y)
  49. {
  50.     int count;
  51.     if (x<y)
  52.     {
  53.         return 0;
  54.     }
  55.     else
  56.     {
  57.         return count = 1+div(x-y, y);
  58.     }
  59. }
  60. int main()
  61. {
  62.     int x=25, y=5;
  63.     printf("%i/%i = %i",x, y, div(x,y));
  64. }
  65.  
  66. //13-construa uma funcao recursiva que imprima os n primeiros valores da seguinte sequencia
  67. //dados 1-2-3-4-5-6...
  68. #include <stdio.h>
  69. void sequen(int n)
  70. {
  71.     if(n==1)
  72.     {
  73.         printf("%d",n);
  74.     }
  75.     else
  76.     {
  77.         sequen(n-1);
  78.         printf("%d",n);
  79.     }
  80. }
  81. int main()
  82. {
  83.     int a=10;
  84.     sequen(a);
  85. }
  86. //5-escreva uma funcao recursiva que determine quantas vezes um digito k ocorre em um
  87. //numero natural n. por exemplo, o digito 2 ocorre 3 vezes em 762021192
  88. #include <stdio.h>
  89. int contagem_dig(int n, int k)
  90. {
  91.     if(n==0)
  92.     {
  93.         return 0;
  94.     }
  95.     else
  96.     {
  97.         return contagem_dig(n/10, k)+(n%10==k);
  98.     }
  99. }
  100. int main()
  101. {
  102.     int k, n;
  103.     n=177013;
  104.     k=7;
  105.     pritnf("%i vezes\n",contagem_dig(n,k));
  106. }
  107. //6-um problema tipico em ciencia da computaçao consiste em converter um numero da sua forma decimal
  108. //para forma binaria. construa uma funcao recursiva para solucionar este problema.
  109. #include <stdio.h>
  110. int binario( int dec)
  111. {
  112.     if (dec==0)
  113.     {
  114.         return 0;
  115.     }
  116.     else return (dec%2+10*binario(dec/2));
  117. }
  118. int main()
  119. {
  120.     int dec, bin;
  121.     printf("informe um valor: \n");
  122.     scanf("%d",&dec);
  123.     bin=binario(dec);
  124.     printf("%d",bin);
  125.  
  126. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement