Você está aqui: C ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
|
Como ordenar os elementos de um vetor (array) usando a função qsort() da linguagem CQuantidade de visualizações: 548 vezes |
|
A função qsort() da linguagem C permite a ordenação dos elementos de um vetor (array ou matriz unidimensional) mediante o fornecimento de uma função auxiliar definida pelo usuário. Veja seu protótipo:void qsort(void *base, size_t num, size_t size, int(*comparator)(const void*, const void*)); Veja que só precisamos fornecer um ponteiro para o vetor a ser ordenado, a quantidade de elementos contidos no vetor, o tamanho em bytes de cada elemento e a função de comparação. No exemplo abaixo mostramos como ordenar um vetor contendo 9 valores inteiros: #include <stdio.h> #include <stdlib.h> // função auxiliar que permite comparar dois valores // durante a ordenação int comparar(const void *a, const void *b){ return(*(int*)a - *(int*)b); } int main(int argc, char *argv[]) { int valores[] = {4, 6, 2, 8, 1, 9, 3, 0, 11}; int i, tamanho = 9; // imprime o vetor sem a ordenação for(i = 0; i < 9; i++){ ...... Ao executarmos este código C nós teremos o seguinte resultado: 4 6 2 8 1 9 3 0 11 0 1 2 3 4 6 8 9 11 Pressione qualquer tecla para continuar... |
|
Link para compartilhar na Internet ou com seus amigos: | |
Java ::: Dicas & Truques ::: Data e Hora |
Como construir uma data no passado ou futuro em Java usando a classe GregorianCalendarQuantidade de visualizações: 8048 vezes |
Esta dica mostra como construir uma data no passado ou futuro na linguagem Java usando a classe GregorianCalendar, que é uma classe derivada e concreta da classe Calendar. Veja a linha na qual informamos a data a ser criada: Calendar data = new GregorianCalendar(2008, 11, 13); ...... Aqui nós estamos usando o construtor da classe GregorianCalendar que requer três valores inteiros. O ano, o mês e o dia. O mês é informado como um valor inteiro na faixa de 0 a 11, ou seja, 0 para janeiro, 1 para fevereiro e assim por diante. Veja o exemplo: package arquivodecodigos; import java.util.*; import java.text.*; public class Estudos{ public static void main(String args[]){ // vamos construir a data "13/12/2008" Calendar data = new GregorianCalendar(2008, 11, 13); ...... Ao executar este código Java nós teremos o seguinte resultado: Sábado, 13 de Dezembro de 2008 |
Java ::: Fundamentos da Linguagem ::: Modificadores |
Programação Orientada a Objetos em Java - Como usar o modificador static em suas aplicações JavaQuantidade de visualizações: 18543 vezes |
O modificador static pode ser aplicado a métodos e variáveis. Além disso, este modificador pode ser usado para a inicialização de códigos estáticos de uma classe. Um recurso marcado com este modificador pertence à uma classe, e não às suas instâncias. Isso quer dizer que podemos acessar métodos ou variáveis estáticas sem a necessidade de criar uma cópia da classe. Veja por exemplo o método main() usado como ponto de entrada para um aplicativo Java: public static void main(String args[]){ ...... Como o método main é chamado antes mesmo de qualquer cópia de classes serem criadas, o modificador static se torna essencial. Veja o que acontece se o retirarmos: public class Estudos{ public void main(String args[]){ System.out.println("Olá"); ...... O código compila sem problemas. Porém, ao tentarmos executar teremos o seguinte erro: Exception in thread "main" java.lang.NoSuchMethodError: main public class Estudos{ String frase = "Estou aqui!"; public static void main(String args[]){ ...... Ao tentarmos compilar este código teremos o seguinte erro: Estudos.java:5: non-static variable frase cannot be referenced from a static context System.out.println(frase); ^ 1 error static String frase = "Estou aqui!"; ...... Execute o programa novamente e veja como o erro desaparece. Para demonstrar como recursos estáticos pertencem mesmo à classe e não às suas cópias, considere o seguinte exemplo: public class Estudos{ public static void main(String args[]){ for(int i = 0; i < 5; i++){ Cliente cliente = new Cliente(); System.out.println("Sou o cliente número: " + cliente.quant); ...... Ao compilar e executar este código você terá o seguinte resultado: Sou o cliente número: 1 Sou o cliente número: 2 Sou o cliente número: 3 Sou o cliente número: 4 Sou o cliente número: 5 Veremos agora o uso do modificador static na inicialização de blocos de código estáticos. Observe o código: public class Estudos{ public static void main(String args[]){ for(int i = 0; i < 5; i++){ Cliente cliente = new Cliente(); System.out.println("Sou o cliente número: " + cliente.quant); } ...... Compile e execute este exemplo. Você terá o seguinte resultado: Bloco estático Sou o cliente número: 1 Sou o cliente número: 2 Sou o cliente número: 3 Sou o cliente número: 4 Sou o cliente número: 5 |
Lisp ::: Dicas & Truques ::: Matemática e Estatística |
Como testar se um número é par ou ímpar em LispQuantidade de visualizações: 640 vezes |
Muitas vezes precisamos saber se um determinado número é par ou ímpar. Isso pode ser feito em Common Lisp usando-se a função REM, que retorna o resto de uma divisão por inteiros. Veja o exemplo a seguir: ; variáveis que vamos usar no programa (let ((num)) ; Vamos ler um número inteiro (princ "Informe um valor inteiro: ") ; talvez o seu compilador não precise disso (force-output) ; atribui o valor lido à variável num ...... Ao executar este programa Common Lisp nós teremos o seguinte resultado: Informe um valor inteiro: 8 Você informou um numero par É importante observar que a maioria das implementações Lisp fornecem as funções EVENP e ODDP que permitem testar se um número é par ou ímpar. O objetivo dessa dica foi fazer uma comparação entre a Common Lisp e outras linguagens de programação na realização desta tarefa. |
C# ::: Coleções (Collections) ::: ArrayList |
Como criar um ArrayList de inteiros no C# e percorrer os elementos usando o laço foreachQuantidade de visualizações: 12460 vezes |
Nesta dica mostrarei um código C# direcionado aos programadores que querem aprender a usar a classe ArrayList em seus programas. Trata-se da criação de uma ArrayList de números inteiros. Depois de criada a lista nós vamos adicionar alguns elementos e depois vamos usar o laço foreach para exibir os valores adicionados. Veja o código completo: using System; using System.Collections; namespace Estudos { class Principal { static void Main(string[] args) { // Cria o ArrayList ArrayList lista = new ArrayList(); // Adiciona 5 inteiros lista.Add(30); lista.Add(2); lista.Add(98); lista.Add(1); lista.Add(7); ...... Ao executar este código C# nós teremos o seguinte resultado: Os elementos no ArrayList são: 30 2 98 1 7 |
C# ::: Datas e Horas ::: DateTime |
Como usar o método IsLeapYear() da estrutura DateTime do C# para verificar se um determinado ano é bissextoQuantidade de visualizações: 7108 vezes |
Podemos verificar se um determinando ano é bissexto usando o método IsLeapYear() da estrutura DateTime. Este método recebe um valor inteiro representando o ano com 4 dígitos e retorna um valor true ou false. Veja o exemplo:static void Main(string[] args){ // vamos verificar se o ano 2008 // é bissexto int ano = 2008; if(DateTime.IsLeapYear(ano)) Console.WriteLine("O ano informado é bissexto"); ...... Este método pode disparar uma exceção ArgumentOutOfRangeException se o valor do ano for menor que 1 ou maior que 9999. |
Desafios, Exercícios e Algoritmos Resolvidos de C# |
Veja mais Dicas e truques de C# |
Dicas e truques de outras linguagens |
Quem Somos |
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.
|
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 |