Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Apr 15th, 2012  |  syntax: None  |  size: 3.00 KB  |  hits: 13  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. /*******************
  2. * Disciplina: MC102             Turma: T
  3. * Nome: Lucas Alfonso Ramalho   RA: 138725
  4. *
  5. * Le dois vetores com ate no maximo 10000
  6. * valores cada e soma seus numeros, dando
  7. * uma saida com cada valor entre 0 e 9.
  8. ********************/
  9.  
  10. #include<stdio.h>
  11.  
  12. int main () {
  13.     int linha_1[1002], indice_1=1, soma[1003]; /*Declaracao de variaveis. Obs: condicao = condicao para o while */
  14.     int linha_2[1002], indice_2=0, max_1, max_2, condicao=0;
  15.  
  16.     scanf("%d", &linha_1[indice_1]);
  17.  
  18.     while (linha_1[indice_1]!=-1) { //Le o valores e armazena no vetor da primeira linha
  19.         indice_1=indice_1+1;
  20.         scanf("%d", &linha_1[indice_1]);
  21.     }
  22.  
  23.     max_1=indice_1; //Valor maximo do indice do vetor da primeira linha
  24.  
  25.     do {
  26.         indice_2=indice_2+1;    //Agora faz o mesmo com o vetor da segunda linha
  27.         scanf("%d", &linha_2[indice_2]);
  28.     } while (linha_2[indice_2]!=-1);
  29.  
  30.     linha_1[0]=0;
  31.     linha_2[0]=0;
  32.  
  33.  
  34.     max_2=indice_2;
  35.  
  36.     //Soma os valores do vetor linha 1 com o vetor linha 2
  37.  
  38.     do {
  39.         indice_2=indice_2-1;
  40.         indice_1=indice_1-1;
  41.  
  42.         if (max_1>=max_2) {
  43.  
  44.             if (indice_2<1) {
  45.                 linha_2[indice_2]=0;
  46.             }
  47.             soma[indice_1]=linha_2[indice_2]+linha_1[indice_1];
  48.  
  49.             if (soma[indice_1]>9) {
  50.                 soma[indice_1]=soma[indice_1]%10;
  51.                 linha_1[indice_1-1]=linha_1[indice_1-1]+1;
  52.             }
  53.  
  54.  
  55.         } else {
  56.  
  57.             if (indice_1<1) {
  58.                 linha_1[indice_1]=0;
  59.             }
  60.  
  61.             soma[indice_2]=linha_2[indice_2]+linha_1[indice_1];
  62.  
  63.             if (soma[indice_2]>9) {
  64.                 soma[indice_2]=soma[indice_2]%10;
  65.                 linha_2[indice_2-1]=linha_2[indice_2-1]+1;
  66.             }
  67.  
  68.         }
  69.  
  70.         if (indice_1<=1 && indice_2<=1){
  71.             condicao=1;
  72.         }
  73.  
  74.     } while (condicao!=1);
  75.  
  76.     soma[0]=linha_1[0]+linha_2[0];
  77.  
  78.     //Imprime os valores do vetor soma
  79.  
  80.     if (soma[0]==1) {
  81.  
  82.         if (max_1>=max_2){
  83.  
  84.             for (indice_1=0; indice_1!=max_1-1; indice_1=indice_1+1){
  85.                 printf("%d ", soma[indice_1]);
  86.             }
  87.  
  88.             printf("%d", soma[max_1-1]);
  89.  
  90.         } else {
  91.  
  92.             for (indice_2=0; indice_2!=max_2-1; indice_2=indice_2+1) {
  93.                 printf("%d ", soma[indice_2]);
  94.             }
  95.  
  96.             printf("%d", soma[max_2-1]);
  97.         }
  98.     } else {
  99.  
  100.             if (max_1>=max_2){
  101.  
  102.                 for (indice_1=1; indice_1!=max_1-1; indice_1=indice_1+1){
  103.                     printf("%d ", soma[indice_1]);
  104.                 }
  105.  
  106.                 printf("%d", soma[max_1-1]);
  107.  
  108.             }       else {
  109.  
  110.                         for (indice_2=1; indice_2!=max_2-1; indice_2=indice_2+1) {
  111.                             printf("%d ", soma[indice_2]);
  112.                         }
  113.  
  114.                         printf("%d", soma[max_2-1]);
  115.  
  116.                     }
  117.     }
  118.     printf("\n"); //Quebra de linha ao final
  119.  
  120.     return 0;
  121.  
  122. }