- /*******************
- * Disciplina: MC102 Turma: T
- * Nome: Lucas Alfonso Ramalho RA: 138725
- *
- * Le dois vetores com ate no maximo 10000
- * valores cada e soma seus numeros, dando
- * uma saida com cada valor entre 0 e 9.
- ********************/
- #include<stdio.h>
- int main () {
- int linha_1[1002], indice_1=1, soma[1003]; /*Declaracao de variaveis. Obs: condicao = condicao para o while */
- int linha_2[1002], indice_2=0, max_1, max_2, condicao=0;
- scanf("%d", &linha_1[indice_1]);
- while (linha_1[indice_1]!=-1) { //Le o valores e armazena no vetor da primeira linha
- indice_1=indice_1+1;
- scanf("%d", &linha_1[indice_1]);
- }
- max_1=indice_1; //Valor maximo do indice do vetor da primeira linha
- do {
- indice_2=indice_2+1; //Agora faz o mesmo com o vetor da segunda linha
- scanf("%d", &linha_2[indice_2]);
- } while (linha_2[indice_2]!=-1);
- linha_1[0]=0;
- linha_2[0]=0;
- max_2=indice_2;
- //Soma os valores do vetor linha 1 com o vetor linha 2
- do {
- indice_2=indice_2-1;
- indice_1=indice_1-1;
- if (max_1>=max_2) {
- if (indice_2<1) {
- linha_2[indice_2]=0;
- }
- soma[indice_1]=linha_2[indice_2]+linha_1[indice_1];
- if (soma[indice_1]>9) {
- soma[indice_1]=soma[indice_1]%10;
- linha_1[indice_1-1]=linha_1[indice_1-1]+1;
- }
- } else {
- if (indice_1<1) {
- linha_1[indice_1]=0;
- }
- soma[indice_2]=linha_2[indice_2]+linha_1[indice_1];
- if (soma[indice_2]>9) {
- soma[indice_2]=soma[indice_2]%10;
- linha_2[indice_2-1]=linha_2[indice_2-1]+1;
- }
- }
- if (indice_1<=1 && indice_2<=1){
- condicao=1;
- }
- } while (condicao!=1);
- soma[0]=linha_1[0]+linha_2[0];
- //Imprime os valores do vetor soma
- if (soma[0]==1) {
- if (max_1>=max_2){
- for (indice_1=0; indice_1!=max_1-1; indice_1=indice_1+1){
- printf("%d ", soma[indice_1]);
- }
- printf("%d", soma[max_1-1]);
- } else {
- for (indice_2=0; indice_2!=max_2-1; indice_2=indice_2+1) {
- printf("%d ", soma[indice_2]);
- }
- printf("%d", soma[max_2-1]);
- }
- } else {
- if (max_1>=max_2){
- for (indice_1=1; indice_1!=max_1-1; indice_1=indice_1+1){
- printf("%d ", soma[indice_1]);
- }
- printf("%d", soma[max_1-1]);
- } else {
- for (indice_2=1; indice_2!=max_2-1; indice_2=indice_2+1) {
- printf("%d ", soma[indice_2]);
- }
- printf("%d", soma[max_2-1]);
- }
- }
- printf("\n"); //Quebra de linha ao final
- return 0;
- }