Pesquisar este blog

Livros Recomendados

Mostrando postagens com marcador 2982. Mostrar todas as postagens
Mostrando postagens com marcador 2982. Mostrar todas as postagens

terça-feira, 23 de março de 2021

URI (BEECROWD) - 2982 - A Greve para ou Continua? - Iniciante - C e C++

A Greve para ou Continua? Dessa vez resolvi esse exercício em C e C++.

Plataforma: URI (BEECROWD)

Problema2982


Linguagens: C e C++


Solução: 

Nesse exercício bastava acumular o valor do saldo, que poderia ser incrementado ou decrementado, com base no valor c lido. Depois disso era necessário analisar se o saldo final era menor que zero ou não, informando uma mensagem diferente para cada caso.

Código em C:

Embora o código seja simples, muitos me perguntam sobre as chaves como delimitadores de escopo. No caso das estruturas condicionais utilizadas, elas poderiam, sim, utilizar as chaves como delimitadores. Ocorre que, na excepcionalidade de o bloco (seja de seleção ou repetição) ter apenas uma instrução, as chaves podem ser suprimidas. Por isso há blocos aqui sem chaves. Se para você fica melhor com chaves, acrescente-as! O código também estará correto.

#include <stdio.h>

int main() {
    
    int n, c, saldo = 0;
    char t;
    
    scanf("%d", &n);
    while (n--) {
        scanf(" %c %d", &t, &c);
        
        if (t == 'V')
            saldo += c;
        else
            saldo -= c;
    }
    
    if (saldo < 0)
        printf("NAO VAI TER CORTE, VAI TER LUTA!\n");
    else
        printf("A greve vai parar.\n");

    return 0;
}

Código em C++: Em relação à lógica do código, tanto o que fiz em C quanto em C++ são idênticos, mas resolvi o acúmulo do saldo com o operador ternário nesse caso.

#include <iostream>

using namespace std;

int main() {
    
    int n, c, saldo = 0;
    char t;
    
    cin >> n;
    while (n--) {
        cin >> t >> c;
        
        saldo += (t == 'V'? c : -c);
    }
    
    if (saldo < 0)
        cout << "NAO VAI TER CORTE, VAI TER LUTA!" << endl;
    else
        cout << "A greve vai parar." << endl;

    return 0;
}

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