Pesquisar este blog

Livros Recomendados

quarta-feira, 17 de fevereiro de 2021

URI (BEECROWD) - 1546 - Feedback - Ad-Hoc - C e C++

Exercício Feedback resolvido com accepted no beecrowd! Aqui temos as soluções em C e C++. Compare com as suas soluções!!!

Plataforma: URI (BEECROWD)

Problema1546

Enunciado:

Muitos alunos de diversas universidades conhecem o portal de programação IRU. Este portal possui milhares de problemas de programação disponíveis. Diariamente a equipe do IRU recebe diversos feedbacks (elogios, bugs, dúvidas, sugestões, ...) que precisam primeiramente ser atribuídos para membros da equipe resolver.

Como a equipe é muito ocupada e não tem tempo para classificar estes feedbacks, você foi convidado a escrever um programa que faça isso e mostre quem será o membro responsável por resolver e responder o feedback.

Os membros responsáveis em cada setor são:

  1. Elogios: Rolien
  2. Bugs: Naej
  3. Dúvidas: Elehcim
  4. Sugestões: Odranoel

Linguagens: C e C++

Solução:

Enquanto ler os n casos, recebe também os tipos de feedback e com base no valor imprime o texto respectivo. Aqui, como os valores serão sempre não negativos e pequenos, utilizei o tipo short unsigned int na primeira e na terceira solução disponibilizada abaixo.

Código em C:

#include <stdio.h>

int main() { 
    
    short unsigned int n, k, tipoFeedback;
    
    scanf("%hu", &n);
    
    while (n--) {
        scanf("%hu", &k);
        
        while (k--) {
            scanf("%hu", &tipoFeedback);
            
            switch (tipoFeedback) {
                case 1:
                    printf("Rolien\n");
                    break;
                case 2:
                    printf("Naej\n");
                    break;
                case 3:
                    printf("Elehcim\n");
                    break;
                default:
                    printf("Odranoel\n");
                    break;                    
            }
        }
    }

    return 0; 
}

Código em C++:

Aqui as diferenças são que utilizei o tipo int e na estrutura de seleção eu deixei os casos bem definidos de 1 a 4. Ou seja, caso uma entrada errada seja informada, nada acontece.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
using namespace std;
 
int main() {
	int n, k, feedback;
	cin >> n;
	while(n--){
		cin >> k;
		while(k--){
			cin >> feedback;
			switch(feedback){
				case 1: cout <<"Rolien"<<endl; 
				break;
				case 2: cout <<"Naej"<<endl; 
				break;
				case 3: cout <<"Elehcim"<<endl; 
				break;
				case 4: cout <<"Odranoel"<<endl; 
				break;
			}
		}
	}

    return 0;
}

Solução alternativa em C++:

Aqui a solução segue o mesmo padrão da solução em C.

#include <iostream>

using namespace std;

int main() { 
    
    short unsigned int n, k, tipoFeedback;
    
    cin >> n;
    
    while (n--) {
        cin >> k;
        
        while (k--) {
            cin >> tipoFeedback;
            
            switch (tipoFeedback) {
                case 1:
                    cout << "Rolien" << endl;
                    break;
                case 2:
                    cout << "Naej" << endl;
                    break;
                case 3:
                    cout << "Elehcim" << endl;
                    break;
                default:
                    cout << "Odranoel" << endl;
                    break;                    
            }
        }
    }

    return 0; 
}

Nenhum comentário:

Postar um comentário

Postagem em destaque

URI (BEECROWD) - 2158 - Helping Uncle Cláudio (Ajudando o Tio Cláudio) - Matemática - C, C++ e Haskell

Buenas! Estou aqui mais uma vez para resolver um problema de Matemática! Agora tenho resolvido alguns dessa categoria, pra que vocês possam ...

Postagens mais visitadas