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();
}
}