com programa da OBI
eh o seguinte to fazendo alguns problemas da obi e comecei pelos que estao disponiveis no site la na parte do pratique no nivel 1 de programação..
eu jah fiz a dos bits trocados e a da armadilha...
so que eu parei na questao do estagiio...
Entrada
A entrada é constituída de vários conjuntos de teste, representando várias turmas. A primeira linha de um conjunto de testes contém um número inteiro N (1 ≤ N ≤ 1000) que indica o total de alunos na turma. As N linhas seguintes contêm, cada uma, um par de números inteiros C (1 ≤ C ≤ 20000) e M (0 ≤ M ≤ 100), indicando respectivamente o código e a média de um aluno. O final da entrada é indicado por uma turma com N = 0.
Exemplo de Entrada
3
1 85
2 91
3 73
5
12300 81
12601 99
98012 76
10111 99
212 99
Saída
Para cada turma da entrada seu programa deve produzir três linhas na saída. A primeira linha deve conter um identificador do conjunto de teste, no formato "Turma n", onde n é numerado a partir de 1. A segunda linha deve conter os códigos dos alunos que obtiveram a maior média da turma, separados por um espaço em branco. Os códigos dos alunos devem aparecer na mesma ordem da entrada, e cada um deve ser seguido de um espaço em branco. A terceira linha deve ser deixada em branco. O formato mostrado no exemplo de saída abaixo deve ser seguido rigorosamente.
Exemplo de Saída
Turma 1
2
Turma 2
12601 10111 212
(esta saída corresponde ao exemplo de entrada acima)
no primeiro teste dah beleza...
so que no segundo ele ta imprimindo as saidas separadamentes
(corresponde ao segundo teste)
Turma 2
12601
Turma 3
10111
Turma 4
212
onde esses codigos dos alunos deveriam sair todos na turma 2 nao separados
#include<iostream>
#define MAX_ALUNOS 1000
using namespace std;
int main()
{
int i, melhor, n,k;
int turma = 1;
struct aluno
{
int codigo, media;
};
struct aluno alunos[MAX_ALUNOS];
cin>>n;
while (n > 0)
{
for (i = 0; i < n; i++)
cin>>alunos[i].codigo>>alunos[i].media;
melhor = 0;
for (i = 1; i < n; i++)
{
for(k = 0;k < n;k++)
{
if (alunos[i].media > alunos[k].media)
{
cout<<"Turma "<<turma++<<"\n"<<alunos[i].codigo<<"\n\n";
i++;}
}
}
cin>>n;
}
}eu sei que o erro esta qdo vai mostrar so que eu naum consigo pensar outra forma de resolver, pq para mim do jeito que ta ai eu penso que ele vai imprimir todos os valores juntos e so depois mudar....
se alguem puder me dar uma dica tah bom d+...
flws
Discussão (1)
Carregando comentários...