Guest User

Untitled

a guest
Jan 23rd, 2018
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.17 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. void le_vetor (int vetor[]) {
  4. int i=0, aux=0;
  5. do {
  6. scanf (" %d", &aux);
  7. vetor[i]=aux;
  8. i++;
  9. } while (aux!=-1);
  10. }
  11.  
  12. void inv_vetor (int vetor[]) {
  13. int i=0, tam_vetor=0, j, vetor_aux[100];
  14.  
  15. while (1) {
  16. if (vetor[i]!=-1)
  17. tam_vetor++;
  18. else
  19. break;
  20. i++;
  21. }
  22.  
  23. for (i=0; i<100; i++) {
  24. vetor_aux[i]=vetor[i];
  25. }
  26. i=0;
  27. for (j=tam_vetor; j>=0; j--) {
  28. vetor[i]=vetor_aux[j];
  29. i++;
  30. }
  31. }
  32.  
  33. void print_vetor_m_um (int vetor[], int tam_vetor) {
  34. int i;
  35. for (i=tam_vetor; i>=0; i--) {
  36. if (vetor[i]!=-1)
  37. printf ("%d", vetor[i]);
  38. }
  39. printf ("\n");
  40. }
  41.  
  42. void print_vetor_zero (int vetor[], int tam_vetor) {
  43. int i=tam_vetor-1;
  44. while (1) {
  45. if (vetor[i]!=0)
  46. break;
  47. i--;
  48. }
  49. while (i>0) {
  50. printf ("%d", vetor[i]);
  51. i--;
  52. }
  53. printf ("\n");
  54. }
  55.  
  56. void soma_vetor (int vetor1[], int vetor2[], int vetor_soma[]) {
  57. int i, aux=0;
  58. for (i=0; i<100; i++) {
  59. if (vetor1[i]!=-1 && vetor2[i]!=-1) {
  60. vetor_soma[i]=(vetor1[i]+vetor2[i]+aux)%10;
  61. if (vetor1[i]+vetor2[i]+aux>9)
  62. aux=1;
  63. else
  64. aux=0;
  65. }
  66. else if (vetor1[i]!=-1 && vetor2[i]==-1) {
  67. vetor_soma[i]=(vetor1[i]+aux)%10;
  68. if (vetor1[i]+aux>9)
  69. aux=1;
  70. else
  71. aux=0;
  72. }
  73. else if (vetor1[i]==-1 && vetor2[i]!=-1) {
  74. vetor_soma[i]=(vetor2[i]+aux)%10;
  75. if (vetor2[i]+aux>9)
  76. aux=1;
  77. else
  78. aux=0;
  79. }
  80. else if (vetor1[i]==-1 && vetor2[i]==-1 && aux==1) {
  81. vetor_soma[i]=1;
  82. aux=0;
  83. }
  84. }
  85. }
  86.  
  87.  
  88. int main() {
  89. int i, j, k, aux=0, n1[100], n2[100], produto[100], soma[100], memo[100], pre[100];
  90.  
  91. for (i=0; i<100; i++) {
  92. n1[i] = -1;
  93. }
  94. for (i=0; i<100; i++) {
  95. n2[i] = -1;
  96. }
  97. for (i=0; i<100; i++) {
  98. soma[i] = 0;
  99. }
  100. for (i=0; i<100; i++) {
  101. produto[i] = 0;
  102. }
  103.  
  104. le_vetor(n1); inv_vetor(n1);
  105. le_vetor(n2); inv_vetor(n2);
  106.  
  107. soma_vetor(n1,n2,soma);
  108.  
  109. print_vetor_m_um(n1,99);
  110. print_vetor_m_um(n2,99);
  111. print_vetor_zero(soma,100);
  112.  
  113. for (j=0; j<100; j++){
  114. if (n2[j]!=-1) {
  115. for (i=0; i<100; i++) {
  116. memo[i]=0;
  117. }
  118. i=j;
  119. k=1;
  120. while (1) {
  121. if (n1[k]!=-1) {
  122. memo[i]=(aux+(n1[k]*n2[j]))%10;
  123. aux=(aux+(n1[k]*n2[j]))/10;
  124. k++;
  125. i++;
  126. }
  127. else if (n1[k]==-1) {
  128. if (aux!=0)
  129. memo[i]=aux;
  130. aux=0;
  131. break;
  132. }
  133. }
  134. for (i=0;i<100;i++) {
  135. pre[i]=produto[i];
  136. }
  137. soma_vetor(memo,pre,produto);
  138. }
  139. }
  140.  
  141. print_vetor_zero(produto,100);
  142.  
  143. return 0;
  144. }
Add Comment
Please, Sign In to add comment