Pepe, Já Tirei a Vela! Este é o exercício resolvido aqui. Um exercício bem simples que tem mais a ver com formato de saída do que com raciocínio lógico em si. Confira!
Plataforma: URI (BEECROWD)
Problema: 2152
Enunciado:
Um dia, o grande herói Chapolout foi ajudar um cientista, que criou muitas invenções. Uma destas invenções é um sistema que abre a porta secreta do laboratório. O sistema consiste em retirar uma vela do candelabro do lado da porta, que a mesma se abre, e, ao colocar a vela de volta ao candelabro, a porta se fecha. Porém, Chapolout descobriu que a vela era só uma desculpa. Na verdade, o assistente do cientista, chamado Pepe, é que abria a porta do laboratório, por dentro. Um tempo depois, o sistema foi modificado, para funcionar igualmente ao projeto inicial. Colocaram um sensor de pressão embaixo da vela do candelabro, de modo que a retirada da vela ativa o sistema. Este sistema emite um relatório de log por cada vez que a porta abriu ou fechou, mas o log está bem confuso. A cada registro, três números inteiros são cadastrados, sendo a hora e o minuto que o evento ocorreu e um valor que representa se a porta abriu ou fechou naquele momento. Pepe pede a sua ajuda para converter os dados do log em dados mais legíveis para ele.
Escreva um programa que, dado um registro de log, este seja convertido em textos mais legíveis.
Linguagens: C e C++
Solução:
Basta ler os três valores e verificar o valor de o para saber se abriu ou fechou. É necessário formatar com zeros à frente, em C fiz isso com %02d e em C++ fiz isso com setw(2) << setfill('0').
Código em C:
#include <stdio.h> int main() { int n, h, m, o; scanf("%i", &n); while (n--) { scanf("%i %i %i", &h, &m, &o); printf("%02d:%02d - A porta ", h, m); if (o) printf("abriu!\n"); else printf("fechou!\n"); } return 0; }
Código em C++:
#include <iostream> #include <iomanip> using namespace std; int main() { int n, h, m, o; cin >> n; while (n--) { cin >> h >> m >> o; cout << setw(2) << setfill('0') << h << ":" << setw(2) << setfill('0') << m << " - A porta "; if (o) cout << "abriu!" << endl; else cout << "fechou!" << endl; } return 0; }
Nenhum comentário:
Postar um comentário