1022

#include<iostream>

#include<stdio.h>


using namespace std;

int main() {

   char nada, op;
   int a = 0;
   int n;
   int n1, n2, n3, n4;
   cin >> n;
   int res1=0, res2=0;
   while(n-- > 0)
   {
       cin >> n1;
       cin >> nada;
       cin >> n2;
       cin >> op;
       cin >> n3;
       cin >> nada;
       cin >> n4;
        
       if(op == '+')
       {
             res1 = n2*n4;
             res2 = n4*n1 + n2*n3;
       }
       else if(op == '-')
       {
            res1 = n2*n4;
            res2 = n1*n4 - n2*n3;
       }
       else if(op == '*')
       {
            res1 = n2*n4;
            res2 = n3*n1;
       }
       else if(op == '/')
       {
            res1 = n2*n3;
            res2 = n1*n4;
       }
       cout << res2 << "/" << res1;
       if(res1 < res2)
       {
               
              for(int i = 1; i <= res1; i++)
              {
                      
                      if(res1 % i == 0 && res2 % i == 0){
                                
                              a = i;
                              
                              }
              }
       }
       else
       {
            
              for(int i = 1; i <= res2; i++)
              {
                    //  cout << "i: " << i << endl;      
                      if(res1 % i == 0 && res2 % i == 0)
                              a = i;
              }
              //cout << "\nA: " << a << endl;
       }
      // cout << "A: " << a << endl;
       cout << " = " << res2/a << "/" << res1/a << endl;
        
   }

}

1171

#include <stdio.h>

#include <stdlib.h>

#include <iostream>

int ascending(void const *a, void const *b ) {

return (*(int*)a - *(int*)b );

}


int main() {

   int num[20000];
   int i = 0, n, ant;
   int cont = 1;
   int p;
   scanf("%d",&p);
   while(p-- > 0)
   {
         scanf("%d",&n);
         num[i] = n;
         i++;
   }  
   qsort(num, i, sizeof(int), ascending);
   ant = num[0];
   for(int j = 0; j < i; j++)
   {
           if(num[j] != ant)
           {
                     printf("%d aparece %d vez(es)\n",ant,cont-1);
                     ant = num[j];
                     cont = 1;
           }
           cont++;
           if(j + 1 == i)
                printf("%d aparece %d vez(es)\n",ant,cont-1);
   }
   //system("pause");

}

1273

#include <iostream>

#include <stdio.h>

#include <list>

#include <sstream>

using namespace std;

int main() {

   bool flag = true;
   int n, m;
   list <string> lista;
   string a;
   while(scanf("%d",&n))
   {
             if(n==0)
                     break;
             m = 1;
             if(!flag)
                      printf("\n");
             else
                 flag = false;
             while(n-- > 0)
             {
                       cin >> a;
                       lista.push_front(a);
                       if(a.size() > m)
                                   m = a.size();
             }
              
             for(list<string>::reverse_iterator it = lista.rbegin(); it != lista.rend(); it++)
             {
                         a = *it;
                         int i = 0;
                         while(i < (m - a.size()))
                         {
                                 printf(" ");
                                 i++;
                         } 
                         cout << a << endl;
             }
             lista.clear();
   }

}