Pesquisar este blog

Livros Recomendados

sábado, 13 de março de 2021

URI (BEECROWD) - 2482 - Etiquetas de Noel - Estruturas e Bibliotecas - C e C++

Plataforma: URI (BEECROWD)


Problema2482

Enunciado
:

Como de costume, neste ano Noel recebeu muitos pedidos de presentes. Só que em função de alguns imprevistos, não terá como entregar todos os presentes pessoalmente neste ano. Daí então decidiu utilizar o velho e bom correio tradicional, para alguns pedidos que podem ser entregues por carta.

Para esta tarefa, pediu ajuda ao elfo Evergreen Xadada, para que ele imprimisse etiquetas a todos os envelopes que serão destinados a algumas destas crianças, cujo pedido pode ser entregue por carta. Cada uma destas etiquetas deverá conter apenas o nome da criança e a saudação "Feliz Natal" no respectivo idioma desta criança. Para auxiliar nesta tarefa, Noel disponibilizou uma tabela com vários idiomas e o nome e o país de cada uma das crianças selecionadas, de acordo com o exemplo abaixo. Você deve ajudar Evergreen fazendo um programa que imprima estas etiquetas.


Linguagens: C e C++


Solução:

Código em C:

#include <stdio.h>
#include <string.h>
int main() {
    int n, m, i, pos;
    char a[200];
    char b[200];
    char felizNatal[200][200];
    char linguagem[200][200];
    scanf("%d ", &n);
    for (i = 0; i < n; i++) {
        scanf ("%[^\n]%*c", linguagem[i]);
        scanf ("%[^\n]%*c", felizNatal[i]);
    }
    scanf("%d ", &m);
    while (m--) {
        scanf ("%[^\n]%*c", a);
        scanf ("%[^\n]%*c", b);
        printf("%s\n", a);
        for (i = 0; i < n; i++) {
            if (!strcmp(b, linguagem[i])) {
                pos = i;
                break;
            }
        }
        printf("%s\n\n", felizNatal[pos]);
    }
    memset(felizNatal, 0, sizeof(felizNatal));
    memset(linguagem, 0, sizeof(linguagem));
    return 0;
}

Código em C++:

#include <iostream>
#include <vector>
using namespace std;
int main() {
    int n, m, i, pos;
    string a, b;
    vector<string> felizNatal, linguagem;
    cin >> n;
    cin.ignore();
    for (i = 0; i < n; i++) {
        getline(cin, a);
        linguagem.push_back(a);
        getline(cin, b);
        felizNatal.push_back(b);
    }
    cin >> m;
    cin.ignore();
    while (m--) {
        getline(cin, a);
        getline(cin, b);
        cout << a << endl;
        for (i = 0; i < n; i++) {
            if (!b.compare(linguagem.at(i))) {
                pos = i;
                break;
            }
        }
        cout << felizNatal.at(pos) << endl << endl;
    }
    felizNatal.clear();
    linguagem.clear();
    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