Guest User

Untitled

a guest
May 26th, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.63 KB | None | 0 0
  1. umafuncao()
  2. {
  3. int x = 1, y = 2;
  4. return x,y;
  5. }
  6.  
  7. void main()
  8. {
  9. int a, b;
  10. a, b = umafuncao();
  11. }
  12.  
  13. int findMaxCrossingSubArray(TItem *Receita, int low, int mid, int high)
  14. {
  15. int i, j, maxLeft, leftSum = -100000, maxRight, rightSum = -1000000;
  16. int sum = 0;
  17. for( i = mid; i >= low; i--)
  18. {
  19. sum = sum + Receita[i].Chave;
  20. if( sum > leftSum)
  21. {
  22. leftSum = sum;
  23. maxLeft = i;
  24. }
  25. }
  26. sum = 0;
  27. for(j = mid + 1; j <= high; j ++)
  28. {
  29. sum = sum + Receita[j].Chave;
  30. if(sum > rightSum)
  31. {
  32. rightSum = sum;
  33. maxRight = j;
  34. }
  35. }
  36. return (maxLeft, maxRight, leftSum + rightSum);
  37. }
  38.  
  39. int findMaxSubArray(TItem *Receita, int low, int high)
  40. {
  41. int mid;
  42. int leftLow, leftHigh, leftSum;
  43. int rightLow, rightHigh, rightSum;
  44. int crossLow, crossHigh, crossSum;
  45.  
  46. if(high == low)
  47. {
  48. return (low, high, Receita[low].Chave);
  49. }
  50. else
  51. {
  52. mid = (low + high)/2;
  53. leftLow, leftHigh, leftSum = findMaxSubArray(Receita, low, mid);
  54. rightLow, rightHigh, rightSum = findMaxSubArray(Receita, mid+1, high);
  55. crossLow, crossHigh, crossSum = findMaxCrossingSubArray(Receita, low, mid, high);
  56. if((leftSum >= rightSum) && (leftSum >= crossSum))
  57. return (leftLow, leftHigh, leftSum);
  58. else if((rightSum >= leftSum) && (rightSum >= crossSum))
  59. return (rightLow, rightHigh, rightSum);
  60. else
  61. return (crossLow, crossHigh, crossSum);
  62. }
  63. }
  64.  
  65. int main()
  66. {
  67. TItem *Receita;
  68. int low = 0, ndias, *taxa, lucro;
  69. taxa = malloc(sizeof(int));
  70.  
  71. ndias = Carrega(&Receita, taxa);
  72.  
  73. //Aqui começa a lógica para calculo do lucro maximo:
  74.  
  75. low, ndias, lucro = findMaxSubArray(Receita, low, ndias-1);
  76. printf("%d", lucro > 0 ? lucro : 0);
  77. Libera(&Receita);
  78. return 0;
  79. }
  80.  
  81. return (maxLeft, maxRight, leftSum + rightSum);
  82.  
  83. int * umafuncao()
  84. {
  85. static int retorno[2];
  86. retorno[0] = 1;
  87. retorno[1] = 2;
  88.  
  89. return retorno;
  90. }
  91.  
  92. void main()
  93. {
  94. int *callfunc;
  95. int a, b;
  96. callfunc = umafuncao();
  97. a = callfunc[0];
  98. b = callfunc[1];
  99. }
  100.  
  101. void umafuncao(int *a, int *b)
  102. {
  103. //Altero o valor direto na posição da memoria da variavel.
  104. *a = 1;
  105. *b = 2;
  106. }
  107.  
  108. void main()
  109. {
  110. int a, b;
  111. umafuncao(&a, &b);
  112. }
  113.  
  114. #include <iostream>
  115. #include <tuple>
  116.  
  117. auto f() {
  118. return std::make_tuple(1, 2);
  119. }
  120.  
  121. int main() {
  122. auto [a, b] = f(); // Aqui
  123. std::cout << '(' << a << ',' << b << ')';
  124. }
  125.  
  126. #include <iostream>
  127. #include <tuple>
  128.  
  129. std::tuple<int, int> f() {
  130. return std::make_tuple(1, 2);
  131. }
  132.  
  133. int main() {
  134. int a, b;
  135. std::tie(a, b) = f();
  136. std::cout << '(' << a << ',' << b << ')';
  137. }
Add Comment
Please, Sign In to add comment