Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- #include <sstream>
- #include <stdlib.h>
- using namespace std;
- void Inicializar(int jogadores[]){
- for (int i = 0;i<100;i++)
- jogadores[i] = 0;
- }
- int Filtrar(string &linha){
- int i=0,n=0;
- char c;
- while(i<linha.length() && linha[i] != ' '){
- n++;
- i++;
- }
- // Retorna a posição onde deveria começar o Vetor.
- return n+1;
- }
- void Saida(int jogadores[],int partidas){
- for(int i = 0;i<100;i++)
- if (jogadores[i] == partidas)
- cout << i+1 << ' ';
- cout << '\n';
- }
- int main(){
- int jogadores[100];
- int testes,partidas;
- int atual(1),n;
- string linha;
- // Inicializa o Vetor com 0's.
- Inicializar(jogadores);
- // Atribui o Número de Testes.
- cin >> testes;
- while (testes > 0){
- // Atribui o Número de Partidas.
- cin >> partidas;
- atual = 1;
- while (atual <= partidas){
- // Ignora o '\n' evitando que o getline pegue linha "Vazia".
- cin.ignore(1,'\n');
- // Pega a linha Inteira e joga na variável linha.
- getline(cin,linha);
- // Indica a Posição Inicial, onde os dados começam.
- n = Filtrar(linha);
- string aux = "";
- // Percorre a String linha.
- for (int i=n;i<linha.length();i++){
- if (linha[i] == ' '){
- // Caso o Jogador atenda a condição: Gol = Partida Atual - 1 ( Fez Gol na Partida Anterior ).
- if (jogadores[atoi(aux.c_str())-1] == atual-1)
- // Atribui o Valor da Partida Atual ao Jogador.
- jogadores[atoi(aux.c_str())-1] = atual;
- // Limpa o aux para que possa ser usado novamente.
- aux.clear();
- }
- else
- // Pega a Camisa dos Jogadores que fizeram Gol.
- aux+=linha[i];
- // Trata o caso do Último jogador, onde não há espaço depois disso.
- if (i+1 == linha.length())
- if (jogadores[atoi(aux.c_str())-1] == atual-1)
- jogadores[atoi(aux.c_str())-1] = atual;
- }
- atual++;
- }
- // Printa os Jogadores que fizeram Gol's em todas as Partidas e Inicializa o vetor com 0's novamente.
- Saida(jogadores,partidas);
- Inicializar(jogadores);
- testes--;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement