Lab C++

Codificação Eficiente

Não basta conhecer a sintaxe, é preciso conhecer a linguagem, saber a melhor forma de fazer.

Tags: c

Trocar Valor de Variáveis

Esse exercício é muito interessante, apesar de ser pouco usual, pessoalmente nunca vi um caso em que isso realmente necessário.

A proposta do exercício é trocar o valor de duas variáveis int, ou derivadas, sem utilizar uma terceira variável. Como a maioria dos exercícios mal elaborados existe a forma esperada e a forma inesperada, mas que entrega o mesmo resultado.

(mais…)

Trocar Dígitos de Um Número

Já vi essa questão em uma entrevista de emprego. E confesso que pra desapontamento do entrevistador eu resolvi primeiro do jeito que ele não esperava e depois do jeito que ele esperava. A questão é a seguinte: Dado um número natural troque todas as ocorrências de um dado dígito, por um outra dado dígito. Ou seja, dado o int 1234138, troque os dígitos 3 por dígitos 5, resultando no int 1254158. Uma função assim:

int replace(int original, int from, int to);
(mais…)

Variáveis Globais em Múltiplas Instâncias do Programa

Mais um que veio do Reddit. Um usuário fez uma pergunta sobre a influência em variáveis globais e estáticas entre múltiplas instâncias. Considerando a forma com que a instanciação de programas funciona na grande maioria dos sistemas operacionais, não há nenhum tipo de possibilidade de haver influência entre as variáveis de cada instância.

Vamos fazer dois programas pra comprovar essa afirmação:

(mais…)

Evitando Hadouken de Ifs

Hadouken de Ifs nasceu de um meme, ilustrado abaixo. Basicamente é um conjunto de ifs aninhados, normalmente um conjunto de validações, que, por conta de inexperiência ou inabilidade do desenvolvedor, acaba por formar uma estrutura difícil de compreender e consequentemente mais difícil de ser mantida, implicando em maiores custos de manutenção do código.

(mais…)

Combinatória Recursiva em C

Recentemente encontrei um usuário no Reddit pedindo pra resolver uma questão sobre análise combinatória em C utilizando recursão. O exercício pedia que fosse feito um programa em C que exibisse no terminal todas as combinações possíveis de três caracteres, utilizando as letras a, b e c.

É um exercício clássico de recursividade, mas é muito bom pra ir além de calcular o fatorial.

(mais…)

Recuperar Dados da Internet com libcURL

Apesar de não ser muito comum utilizar linguagem C/C++ para a recuperação de dados na internet, às vezes é necessário, seja por questões de performance, de arquitetura, ou até mesmo requisitos de projeto. E nestes casos libcURL é a principal biblioteca para acesso a internet.

No exemplo de hoje será utilizado código em linguagem C, uma vez que devido a natureza da libcURL a conversão para C++ é relativamente simples.

(mais…)

Solução: Imprimir o Meio da String

Há alguns meses apareceu na lista cppbrasil uma dúvida, como retornar o(s) caracteres do meio de uma string. Por exemplo:

  • AMARELO -> R
  • VERMELHO -> ME
  • AZUL -> ZU
  • VERDE -> R
(mais…)

C: História e Versões

A linguagem C é uma das mais antigas e populares na história da computação. Muitos iniciantes desvalorizam a linguagem por ela ser antiga, ou datada, mas ela vem evoluindo há quase 50 anos, mantendo-se sempre relevante. Lembro, inclusive, no final dos anos 90, a então relevante Info Exame, ditando o fim das linguagens C e C++, ledo engano.

(mais…)

Macros Pré-Definidas em C e C++

Tanto a linguagem C, como a linguagem C++, contam com um conjunto de macros pré-definidas. Elas estão resolvidas em tempo de pré-processamento, portanto antes mesmo da compilação, e podem ser muito úteis. Vamos conhecê-las e estudar utilidades para o dia-a-dia.

(mais…)

Função que Retorna Dois Valores

Há algum tempo me deparei com uma dúvida no Stack Overflow, um usuário perguntando se havia como fazer uma função que retornedois valores em C/C++. Tem como, e tem mais de uma forma de fazer.

(mais…)