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

Como criar sua própria função substring() para retornar uma substring a partir de uma string em C

Quantidade de visualizações: 16533 vezes
Em algumas situações precisamos obter uma substring a partir de uma string. A linguagem C já fornece algumas funções que tornam isso possível. No entanto, nenhuma destas funções permite especificar o índice inicial da substring. Sendo assim, o trecho de código abaixo mostra como escrever uma função substring() que permite informar a string de origem, o índice inicial e a quantidade de caracteres que serão obtidos. O retorno da função será um ponteiro para a substring obtida:

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

char *substring(char *origem, int inicio, int quant){
  char *res = origem;
  int i = 0;

  // posição inicial menor que 0 ou
  // posição inicial muito exagerada?
  if((inicio < 0) || (inicio > strlen(origem)))
    inicio = 0;

  // quantidade de caracteres muito exagerada?
  if(quant > inicio + strlen(origem))
    quant = strlen(origem) - inicio;

  // obtem os caracteres desejados
  for(i = 0; i <= quant - 1; i++){
    res[i] = origem[inicio + i];
......


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

muito de C
Gosto muito de C e C++

Link para compartilhar na Internet ou com seus amigos:

JavaScript ::: DOM (Document Object Model) ::: document Object

JavaScript DOM - Como usar o objeto document em seus códigos JavaScript

Quantidade de visualizações: 7609 vezes
O objeto document representa a página HTML e fornece possibilidades para acessar, criar e manipular todos os elementos HTML no documento. Este objeto está logo abaixo do objeto window na hierarquia do DOM (Document Object Model), ou seja, podemos dizer que este elemento é filho do objeto window. Assim, para acessá-lo a partir de nossos códigos JavaScript podemos usar window.document ou simplesmente document. Veja:

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

<script type="text/javascript">
  // vamos obter o título desta página
  var titulo = window.document.title;
......


Neste exemplo nós usamos o objeto window para obter o objeto document. O passo seguinte foi obter o valor de sua propriedade title, que é usada para definir ou obter o título da página HTML.

Para obter um elemento em um documento HTML nós podemos usar as coleções (all, anchors, applets, etc), os métodos getElementById(), getElementsByName() e getElementsByTagName() e algumas outras propriedades e métodos. Se precisarmos acessar o elemento body ou html, podemos usar as propriedades document.documentElement e document.body.

Veja um trecho de código no qual acessamos o corpo do documento HTML e definimos sua cor de fundo:

<script type="text/javascript">
  // vamos definir a cor de fundo da página HTML
......


Uma vez que o objeto document é um objeto contâiner para um documento HTML, ele fornece métodos para a crição de novos elementos (por meio do método createElement()), nós textos (createTextNode()) e nós de comentários (createComment()). Depois que um nó (node) é criado, ele pode ser inserido no documento por meio de chamadas aos métodos appendChild() e insertBefore().

Veja um trecho de código no qual usamos o método createElement() para criar um novo elemento div e logo em seguida usamos o método appendChild() para adicionar o elemento recém-criado no final do documento HTML:

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

<script type="text/javascript">
   // vamos criar um novo elemento div
   var elem = document.createElement("div");
   elem.innerHTML = "Sou uma div criada dinâmicamente";
......


Os documentos HTML contidos em elementos frames e iframes possuem seus próprios objetos document. Para obter tais objetos, devemos usar a propriedade contentDocument.


C# ::: Dicas & Truques ::: Matemática e Estatística

Como calcular MDC em C#

Quantidade de visualizações: 13562 vezes
Atualmente a definição de Máximo Divisor Comum (MDC) pode ser assim formalizada:

Sejam a, b e c números inteiros não nulos, dizemos que c é um divisor comum de a e b se c divide a (escrevemos c|a) e c divide b (c|b). Chamaremos D(a,b) o conjunto de todos os divisores comum de a e b.

O trecho de código abaixo mostra como calcular o MDC de dois números informados:

static void Main(string[] args){
  Console.WriteLine("Este programa permite calcular o MDC\n");
  Console.Write("Informe o primeiro número: ");
  int x = int.Parse(Console.ReadLine());

  Console.Write("Informe o primeiro número: ");
  int y = int.Parse(Console.ReadLine());

  Console.WriteLine("\nO Máximo Divisor Comum de "
    + x + " e " + y + " é " + MDC(x, y));
......



Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços

Exercícios Resolvidos de Java - Usando o laço for para exibir a tabela de caracteres ASCII de 1 até 127

Quantidade de visualizações: 3249 vezes
Pergunta/Tarefa:

Escreva um programa Java console que usa o laço for para exibir a tabela de caracteres que são equivalentes aos códigos ASCII de 1 até 127.

Sua saída deverá ser parecida com:



Resposta/Solução:

Veja a resolução comentada deste exercício usando Java console:

package arquivodecodigos;

public class Estudos{
  public static void main(String[] args){
    // um laço que começa em 1 e termina em 127
    for(int i = 1; i <= 127; i++){
      // vamos obter o caractere correspondente
      char c = (char)(i);
......



Python ::: Pandas Python Library (Biblioteca Python Pandas) ::: DataFrame

Como usar o objeto DataFrame da biblioteca Pandas do Python

Quantidade de visualizações: 1599 vezes
A biblioteca Pandas do Python é uma das preferidas para o estudo e desenvolvimento de soluções envolvendo Big Data, Data Science, Data Mining, Machine Learning, Inteligência Artificial, etc. E o objeto DataFrame é uma das partes mais importantes dessa biblioteca.

Um objeto DataFrame é uma estrutura de dados bidimensional, ou seja, uma tabela contendo linhas e colunas. Nesse formato tabular, que pode ter seu tamanho redimensionado, as informações contidas no objeto DataFrame podem ser atualizadas de acordo com as necessidades do nosso código. Além disso, linhas e colunas podem ser adicionadas ou excluídas em tempo de execução.

A forma mais comum de criarmos um DataFrame é usando o seu construtor. Veja:

# importamos a biblioteca Pandas
import pandas as pd

def main():
  # conteúdo do DataFrame
  produtos = [['Notebook AB43', 43], ['Tela LED', 87],
    ['Bateria 16 Volts', 120]]

  # vamos construir o DataFrame
......


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

            Produto  Estoque
0     Notebook AB43       43
1          Tela LED       87
2  Bateria 16 Volts      120


Aqui nós usamos uma list contendo três lists, ou seja, uma matrix de três linhas e duas colunas. Veja como obter o mesmo resultado usando um dicionário:

# importamos a biblioteca Pandas
import pandas as pd

def main():
  # conteúdo do DataFrame
  produtos = {'Produto':['Notebook AB43', 'Tela LED', 
    'Bateria 16 Volts'], 'Estoque':[43, 87, 120]}
......


Execute este código e verá que o DataFrame resultante é o mesmo do código anterior.


C++ ::: Fundamentos da Linguagem ::: Estruturas de Controle

Como usar ponteiros para controlar um laço while em C++

Quantidade de visualizações: 9051 vezes
É possível usar ponteiros para controlar a execução de um laço while em C++. Comece analisando o seguinte trecho de código:

// uma matriz de caracteres
char nome[] = "Arquivo";

// aponta para a primeira letra
char *letra = nome;
......


Aqui o valor "True" será exibido, visto que o ponteiro *letra está apontando para um local da matriz de caracteres nome[] que é diferente de NULL. Veja agora:

// uma matriz de caracteres
char nome[] = "Arquivo";

// aponta para a primeira letra
char *letra = nome; // posição 0

// vamos atingir o final da matriz
// de caracteres
letra++; // posição 1
letra++; // posição 2
......


Como sabemos que a matriz de caracteres nome[] contém sete caracteres (de 0 a 6), incrementamos o ponteiro *letra até que este aponte para o caractere que marca o fim da matriz. Assim, o valor "False" é exibido.

Veja agora um laço while que tira proveito do que vimos aqui para exibir as letras da palavra "Arquivo" separadamente usando um ponteiro:

#include <string>
#include <iostream>

using namespace std;

int main(int argc, char *argv[]){
  // uma matriz de caracteres
  char nome[] = "Arquivo";

  // aponta para a primeira letra
  char *letra = nome;

  // vamos usar o laço while para
......



Desafios, Exercícios e Algoritmos Resolvidos de C++

Veja mais Dicas e truques de C++

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á 10 usuários muito felizes estudando em nosso site.