Pesquisar este blog

Livros Recomendados

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

quinta-feira, 18 de março de 2021

URI (BEECROWD) - 2694 - Problema com a Calculadora - Strings - C e C++

Plataforma: URI (BEECROWD)

Problema2694

Enunciado:

Joãozinho tem que ajudar seu pai. Um relatório específico com alguns números está saindo com caracteres indesejáveis no meio. A ideia é apenas somar os 3 valores que aparecem em cada linha sempre na mesma posição, ignorando as letras e apresentar esta soma. Não existem espaços em branco na linha.

Linguagens: C e C++


Solução:

Código em C:

#include <string.h>

int getNum(char letra) {
    switch (letra) {
        case '1':
            return 1;
            break;
        case '2':
            return 2;
            break;
        case '3':
            return 3;
            break;
        case '4':
            return 4;
            break;
        case '5':
            return 5;
            break;
        case '6':
            return 6;
            break;
        case '7':
            return 7;
            break;
        case '8':
            return 8;
            break;
        case '9':
            return 9;
            break;
        default:
            return 0;
            break;
    }
}

int main() {
    
    int n, i;
    scanf("%d ", &n);
    
    while (n--) {
        char palavra[14];
        gets(palavra);
        
        int termos1 = getNum(palavra[2])*10 + getNum(palavra[3]);
        int termos2 = getNum(palavra[5])*100 + getNum(palavra[6])*10 + getNum(palavra[7]);
        int termos3 = getNum(palavra[11])*10 + getNum(palavra[12]);
        printf("%d\n", termos1 + termos2 + termos3);
    }

    return 0;
}

Código em C++:

#include <iostream>

using namespace std;

int getNum(char letra) {
    switch (letra) {
        case '1':
            return 1;
            break;
        case '2':
            return 2;
            break;
        case '3':
            return 3;
            break;
        case '4':
            return 4;
            break;
        case '5':
            return 5;
            break;
        case '6':
            return 6;
            break;
        case '7':
            return 7;
            break;
        case '8':
            return 8;
            break;
        case '9':
            return 9;
            break;
        default:
            return 0;
            break;
    }
}

int main() {
    
    int n, i;
    cin >> n;
    
    while (n--) {
        string palavra;
        cin >> palavra;
        
        int termos1 = getNum(palavra[2])*10 + getNum(palavra[3]);
        int termos2 = getNum(palavra[5])*100 + getNum(palavra[6])*10 + getNum(palavra[7]);
        int termos3 = getNum(palavra[11])*10 + getNum(palavra[12]);
        cout << termos1 + termos2 + termos3 << 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