Lista de Exercícios Resolvidos: Java | Python | VisuAlg | Portugol | C | C# | VB.NET | C++
Você está aqui: C ::: Dicas & Truques ::: Strings e Caracteres

Como escrever uma função concat() que reproduz a funcionalidade da função strcat() da linguagem C

Quantidade de visualizações: 11272 vezes
O C (C99, ANSI C) contém uma função strcat(), no header string.h, que permite concatenar duas strings. Para fins de estudo, segue abaixo o código completo para uma função concat(), que recebe duas strings, anexa a segunda à primeira e retorna um ponteiro para uma string contendo ambas:

// uma função concat
char *concat(char *destino, const char *origem)
{
  // um ponteiro para a string de destino
  char *original = destino;

  // vai para o final da string de destino
......


Veja como usar no trecho de código abaixo:

#include <stdio.h>
#include <stdlib.h>

// uma função concat
char *concat(char *destino, const char *origem)
{
  // um ponteiro para a string de destino
  char *original = destino;

  // vai para o final da string de destino
  while(*original)
    original++;

  // anexa a string de origem
  while(*original++ = *origem++)
    ;

  // retorna o resultado
......


Ao executar este código C nós teremos o seguinte resultado:

Gosto muito de C e Java.

Link para compartilhar na Internet ou com seus amigos:

JavaScript ::: Dicas & Truques ::: Miscelâneas

Como adicionar um método isPar() ao objeto Number do JavaScript que indicará se um número é par ou impar

Quantidade de visualizações: 7243 vezes
Nesta dica mostrarei como é possível adicionar uma função isPar() ao objeto Number da linguagem JavaScript por meio do objeto prototype. Nossa função aceitará um valor numérico e retornará true se o valor for par, e false em caso contrário.

Veja o código completo para o exemplo:

<html>
<head>
  <title>Estudos JavaScript</title>
</head>
 
<body>

<script type="text/javascript">
  // vamos adicionar uma nova função ao objeto Number
  Number.prototype.isPar = function(){
    // retorna true se o número for par
    return (this % 2 == 0);
  }

  // agora vamos testar a nova função isPar()
......


Ao executar este código JavaScript nós teremos o seguinte resultado:

O número informado NÃO é par.


Java ::: Coleções (Collections) ::: HashSet

Java HashSet - Como usar o método add() para adicionar novos elementos a um HashSet da linguagem Java

Quantidade de visualizações: 4932 vezes
Novos elementos podem ser adicionados a um HashSet por meio do método add(), definido originalmente na interface Collection<E> e sobrescrevendo a versão herdada de AbstractCollection<E>. Este método possui a seguinte assinatura:

public boolean add(E e)
Veja que este método recebe o elemento a ser adicionado e retorna true se o elemento foi inserido com sucesso e false em caso contrário. Note que o elemento será inserido somente se este ainda não estiver contido no conjunto. Veja o seguinte trecho de código:

package estudos;

import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

public class Estudos{
  public static void main(String[] args) {
    // vamos criar uma instância da classe HashSet
    Set<Integer> conjunto = new HashSet<>();
    
    // vamos tentar inserir três inteiros neste conjunto
    if(conjunto.add(5)){
      System.out.println("Elemento inserido com sucesso.");  
    }
    else{
      System.out.println("O elemento não foi inserido.");
    }
    
    if(conjunto.add(7)){
......


Ao executar este código teremos o seguinte resultado:

Elemento inserido com sucesso.
Elemento inserido com sucesso.
O elemento não foi inserido.
5
7
Veja que o segundo valor 5 não foi inserido, uma vez que o mesmo já estava na coleção. Lembre-se de que objetos da classe HashSet aceitam o elemento null.


C++ ::: Fundamentos da Linguagem ::: Tipos de Dados

Como usar o tipo de dados size_t da linguagem C++

Quantidade de visualizações: 15203 vezes
O tipo size_t é definido no arquivo stddef.h e em outros headers, e sua definição pode ser encontrada da seguinte forma:

typedef unsigned long size_t; 
......


Este tipo é usado para definir tamanhos de strings e blocos de memória. Foi proposto pelo ANSI C.

É comum encontrar size_t substituindo unsigned int ou unsigned long. Muito frequente também é ver este tipo recebendo o resultado de uma chamada ao operator sizeof. Veja:

#include <iostream>

using namespace std;

int main(){
  // vamos obter a quantidade de bytes em um int
  size_t tam = sizeof(int);
......


Ao executarmos este código nós teremos o seguinte resultado:

Um inteiro nesta arquitetura contém: 4 bytes


Lisp ::: Fundamentos da Linguagem ::: Variáveis e Constantes

Como declarar variáveis locais em Lisp usando o comando let

Quantidade de visualizações: 525 vezes
Em várias situações nós gostaríamos de declarar variáveis que serão usadas em um espaço limitado, ou seja, dentro de uma função Common Lisp ou até mesmo em um bloco de código. Entram em cena as variáveis locais.

Variáveis locais, como o próprio nome indica, são visíveis apenas dentro do corpo de uma função ou dentro do bloco no qual elas são declaradas.

Em Common Lisp as variáveis locais são declaradas usando-se o comando let. Veja um exemplo no qual nós declaramos três variáveis locais e que serão usadas no corpo de uma função Multiplicar():

; vamos definir a função Multiplicar()
(defun Multiplicar()
  ; vamos usar o comando let para declarar
  ; três variáveis locais
  (let ((a 3)(b 9)(produto))
    ; agora vamos obter o produto das variáveis
......


Ao executar este código nós teremos o seguinte resultado:

O produto dos dois valores é 27

Agora veja como podemos declarar variáveis locais dentro de um bloco de código em Common Lisp:

; vamos usar o comando let para declarar
; três variáveis locais (dentro de um bloco
; de código)
(let ((a 7)(b 5)(produto))
  ; agora vamos obter o produto das variáveis
......


Execute este código e você terá o seguinte resultado:

O produto dos dois valores é 35

Nos dois trechos de código, se tentarmos acessar as variáveis locais fora de seus escopos, nós teremos o seguinte erro:

The variable PRODUTO is unbound.


Java ::: Pacote java.lang ::: StringBuffer

Java do básico ao avançado - Como usar o método append() para adicionar mais conteúdo ao final de um StringBuffer

Quantidade de visualizações: 8628 vezes
O método append() da classe StringBuffer se torna útil quando precisamos adicionar mais conteúdo ao final de um objeto desta classe. Este método possui, no Java 7, as seguintes sobrecargas:

public StringBuffer append(Object obj)
public StringBuffer append(String str)
public StringBuffer append(StringBuffer sb)
public StringBuffer append(CharSequence s)
public StringBuffer append(CharSequence s, int start, int end)
public StringBuffer append(char[] str)
public StringBuffer append(char[] str, int offset, int len)
public StringBuffer append(boolean b)
public StringBuffer append(char c)
public StringBuffer append(int i)
public StringBuffer append(long lng)
public StringBuffer append(float f)
public StringBuffer append(double d)

Note que em todas as sobrecargas do método, o retorno é um objeto da classe StringBuffer. Mas, não é um novo objeto StringBuffer. É uma referência ao objeto StringBuffer já existente.

Veja um exemplo no qual usamos este método para adicionar mais duas palavras ao conteúdo do StringBuffer:

package estudos;

public class Estudos{
  public static void main(String[] args) {
    // um StringBuffer contendo uma frase
    StringBuffer frase = new StringBuffer("Gosto muito de programar");
    
    // vamos adicionar mais duas palavras ao final do StringBuffer
......


Ao executarmos este código nós teremos o seguinte resultado:

Gosto muito de programar em Java


Desafios, Exercícios e Algoritmos Resolvidos de Java

Veja mais Dicas e truques de Java

Dicas e truques de outras linguagens

Quem Somos

Osmar J. Silva
Programador Freelancer
WhatsApp +55 (062) 98553-6711

Goiânia-GO
Programador Freelancer - Full Stack Developer, Professional Java Developer, PHP, C/C++, Python Programmer, wxWidgets Professional C++ Programmer, Freelance Programmer. Formado em Ciência da Computação pela UNIP (Universidade Paulista Campus Goiânia) e cursando Engenharia Civil pela PUC-Goiás. Possuo conhecimentos avançados de Java, Python, JavaScript, C, C++, PHP, C#, VB.NET, Delphi, Android, Perl, e várias tecnologias que envolvem o desenvolvimento web, desktop, front-end e back-end. Atuo há mais de 20 anos como programador freelancer, atendendo clientes no Brasil, Portugal, Argentina e vários outros paises.
Entre em contato comigo para, juntos, vermos em que posso contribuir para resolver ou agilizar o desenvolvimento de seus códigos.
José de Angelis
Programador Freelancer
WhatsApp +55 (062) 98243-1195

Goiânia-GO
Programador Freelancer - Formado em Sistemas de Informação pela Faculdade Delta, Pós graduado em Engenharia de Software (PUC MINAS), Pós graduado Marketing Digital (IGTI) com ênfase em Growth Hacking. Mais de 15 anos de experiência em programação Web. Marketing Digital focado em desempenho, desenvolvimento de estratégia competitiva, analise de concorrência, SEO, webvitals, e Adwords, Métricas de retorno. Especialista Google Certificado desde 2011 Possui domínio nas linguagens PHP, C#, JavaScript, MySQL e frameworks Laravel, jQuery, flutter. Atualmente aluno de mestrado em Ciência da Computação (UFG)
Não basta ter um site. É necessário ter um site que é localizado e converte usuários em clientes. Se sua página não faz isso, Fale comigo e vamos fazer uma analise e conseguir resultados mais satisfatórios..

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2024 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 18 usuários muito felizes estudando em nosso site.