Pesquisar este blog

Livros Recomendados

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

quarta-feira, 24 de março de 2021

URI (BEECROWD) - 3117 - Atrasadinhos - Ad-Hoc - C e C++

Mais um problema resolvido da plataforma URI/BEECROWD! Esse é um exercício da categoria "Ad-Hoc". Achei bem divertido e simples. É um bom exercício pra quem está começando a aprender programação.

Inclusive vou deixar duas perguntas aqui:

  1. Tinha como resolver com menos variáveis?
  2. Tinha como resolver com outra estrutura de repetição?
Para quem for iniciante, tente resolver dessas formas para exercitar o raciocínio lógico!

Plataforma: URI (BEECROWD)

Problema3117

Linguagens: C e C++

Solução:

Os códigos em C e C++ seguem a mesma lógica. A ideia foi ler dois valores (n e k) e iterar de 0 até n-1, lendo um outro valor v. Sempre que v fosse não positivo, incrementava a variável r, que, portanto, funcionava como um contador de valores não positivos. Após contar esses valores, se r fosse maior ou igual a k, imprime YES, senão imprime NO. Sem esquecer que é necessário o "\n" (em C, usando stdio) ou std::endl (em C++, usando iostream) no comando de escrita.

Código em C:

#include <stdio.h>

int main() {
    
    int n, k, i, v, r;
    
    scanf("%d %d", &n, &k);
    for (i = 0; i < n; i++) {
        scanf("%d", &v);
        if (v <= 0)
            r++;
    }
    if (r >= k)
        printf("YES\n");
    else
        printf("NO\n");
    
    return 0;
}


Código em C++:

As únicas diferenças do código em C++ para o código em C são, basicamente, o uso de iostream, usando, portanto, std::cin, std::cout e std::endl, e a possibilidade de criar uma variável no escopo do for (a variável int i).

#include <iostream>

using namespace std;

int main() {
    
    int n, k, v, r;
    
    cin >> n >> k;
    for (int i = 0; i < n; i++) {
        cin >> v;
        if (v <= 0)
            r++;
    }
    if (r >= k)
        cout << "YES" << endl;
    else
        cout << "NO" << 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