Os testes para as listas de exercícios serão feitos via arquivos.
Seguem abaixo as especificações deles.


==========
Questão 1
==========
Arquivo fonte: L5Q1.{c | cpp | java}
Arquivo de entrada: L5Q1.in
Arquivo de saída: L5Q1.out

       O arquivo de entrada consiste de vários conjuntos de dados. Cada conjunto de dados contém duas linhas: a primeira linha contém o número N de elementos do array (2 ≤ N ≤ 1000) e a segunda linha contém os elementos (inteiros) que serão ordenados. Um conjunto com N = 0 indica o fim do arquivo, e não deve ser processado.

Entrada exemplo:
6
6 5 4 3 2 1
6
1 2 3 4 5 6
7
4 3 1 2 6 5 7
0

       O arquivo de saída deve mostrar o número do conjunto e, após cada chamada ao procedimento de partição, imprimir o pivô escolhido e a configuração atual do array. Uma linha em branco deve ser impressa após cada conjunto.

Saída exemplo correspondente à entrada acima:
Conjunto #1
4: 3 1 2 4 6 5
2: 1 2 3 4 6 5
6: 1 2 3 4 5 6

Conjunto #2
3: 1 2 3 4 5 6
1: 1 2 3 4 5 6
5: 1 2 3 4 5 6

Conjunto #3
4: 2 3 1 4 6 5 7
2: 1 2 3 4 6 5 7
6: 1 2 3 4 5 6 7

Obs.:



==========
Questão 2
==========
Arquivo fonte: L5Q2.{c | cpp | java}
Arquivo de entrada: L5Q2.in
Arquivo de saída: L5Q2.out

       O arquivo de entrada consiste de vários conjuntos de dados. Cada conjunto de dados contém duas linhas: a primeira linha contém o número N de elementos do array (1 ≤ N ≤ 1000) e a segunda linha contém os elementos (inteiros) que serão ordenados. Um conjunto com N = 0 indica o fim do arquivo, e não deve ser processado.

Entrada exemplo:
4
8 4 3 1
3
1 2 3
5
1 3 2 5 4
0

       O arquivo de saída deve mostrar o número do conjunto e, após cada chamada ao procedimento mergesort, imprimir que intervalo do array que foi ordenado e a configuração atual do array. Uma linha em branco deve ser impressa após cada conjunto.

       O intervalo deve ser impresso na forma A-B, em que A indica o índice inicial e B o índice final. Os índices estão entre 1 e N.

Saída exemplo correspondente à entrada acima:
Conjunto #1
1-1: 8 4 3 1
2-2: 8 4 3 1
1-2: 4 8 3 1
3-3: 4 8 3 1
4-4: 4 8 3 1
3-4: 4 8 1 3
1-4: 1 3 4 8

Conjunto #2
1-1: 1 2 3
2-2: 1 2 3
1-2: 1 2 3
3-3: 1 2 3
1-3: 1 2 3

Conjunto #3
1-1: 1 3 2 5 4
2-2: 1 3 2 5 4
1-2: 1 3 2 5 4
3-3: 1 3 2 5 4
1-3: 1 2 3 5 4
4-4: 1 2 3 5 4
5-5: 1 2 3 5 4
4-5: 1 2 3 4 5
1-5: 1 2 3 4 5

Obs.:




[Última alteração em 11/04/2002]