C++ ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes)

Exercícios Resolvidos de C++ - Desafio do número ausente. Dado um vetor de números naturais 1..n, encontre o valor ausente

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

Dado o vetor:

int valores[] = {1, 8, 7, 2, 6, 5, 3};


Encontre o elemento ausente na sequência de valores do vetor, sabendo que o primeiro valor é 1 e o último elemento é 8. Perceba que o vetor não precisa estar ordenado. Além disso, o entrevistador se certificará de que os valores serão sempre positivos e não haverá valores repetidos.

Sua saída deverá ser parecida com:

O número ausente é: 4
Resposta/Solução:

Dica: Use a fórmula n * (n + 1) / 2 para facilitar a resolução do exercício.

Veja a resolução comentada deste exercício usando C++:

#include <string>
#include <iostream>

using namespace std;

int main(int argc, char *argv[]){
  // vamos declarar um vetor de inteiros faltando
  // um valor na sequência (não necessariamente ordenada)
  // Note a ausência do número 4
  int valores[] = {1, 8, 7, 2, 6, 5, 3};
  int i, soma_n, ausente, soma_elementos;
  int quant = 8; // tamanho do vetor + 1
    
  // o primeiro passo é obter a soma de 1..n elementos
  // natuais usando a fórmula n*(n+1)/2
  soma_n = (quant * (quant + 1)) / 2;
    
  // agora vamos somar os elementos do vetor
  soma_elementos = 0;
  for(i = 0; i < 7; i++){
    soma_elementos = soma_elementos + valores[i];
  }
    
  // agora calculamos o valor ausente
  ausente = soma_n - soma_elementos;
    
  // vamos mostrar o resultado
  cout << "O número ausente é: " << ausente << endl;
  
  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS; 
}



Java ::: Dicas & Truques ::: Strings e Caracteres

Como testar se uma string Java é um valor numérico válido usando o método isDigit() da classe Character

Quantidade de visualizações: 226 vezes
O método isDigit() da classe Character nos permite verificar se um determinado caractere é um número, ou seja, está na faixa de 0 a 9. Podemos tirar proveito disso para varrer todos os caracteres de uma string, usando o método charAt() da classe String, e testar se essa string é um valor numérico válido.

Veja o código completo para o exemplo:

package arquivodecodigos;

// Este exemplo mostra como verificar se uma
// string é um valor númerico
public class Estudos {

  public static void main(String[] args) {
    String valor = "2334554";
    boolean valido = true;

    for (int i = 0; i < valor.length(); i++) {
      Character caractere = valor.charAt(i);
      if (!Character.isDigit(caractere)) {
        valido = false;
        break;
      }
    }

    if (valido) {
      System.out.println("Valor numérico valido");
    } 
    else {
      System.out.println("NãO é um valor numerico valido");
    }

    System.exit(0);
  }
} 

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

Valor numérico válido.


Java ::: Desafios e Lista de Exercícios Resolvidos ::: Métodos, Procedimentos e Funções

Exercício Resolvido de Java - Como converter minutos em segundos em Java usando uma função

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

Escreva um programa Java para converter minutos em segundos. Você deverá criar uma função converter() que receberá, como argumento, um número inteiro representando os minutos e retornará, também como um inteiro, os segundos correspondentes. Os minutos deverão ser informados pelo usuário.

Sua saída deverá ser parecida com:

Informe os minutos: 15
A quantidade de segundos é: 900
Resposta/Solução:

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

package estudos;

import java.util.Scanner;

public class Estudos {
  public static void main(String[] args) {
    // para ler a entrada do usuário
    Scanner entrada = new Scanner(System.in);
    
    // vamos pedir para o usuário informar os minutos
    System.out.print("Informe os minutos: ");
    int minutos = Integer.parseInt(entrada.nextLine());
  
    // agora vamos chamar a função converter() para converter
    // os minutos em segundos
    int segundos = converter(minutos);
  
    // e mostramos o resultado
    System.out.println("A quantidade de segundos é: " + segundos);
  }
  
  // função usada para converter minutos em segundos
  public static int converter(int minutos){
    int segundos = minutos * 60;
    return segundos; 
  }
}



Ruby ::: Dicas & Truques ::: Arquivos e Diretórios

Como criar um diretório em Ruby usando a função FileUtils.mkdir()

Quantidade de visualizações: 8201 vezes
O trecho de código a seguir mostra como criar um diretório em Ruby usando o método mkdir() da classe FileUtils. Esta função recebe uma string contendo o nome e caminho do diretório a ser criado.

Veja o código Ruby completo para o exemplo:

require "fileutils"

# nome e caminho do diretório a ser criado
diretorio = "C:\\estudos_ruby\\escola"

# cria o diretório
if FileUtils.mkdir diretorio
  puts "Diretório criado com sucesso"
else
  puts "Não foi possível criar o diretório"
end

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

Diretório criado com sucesso

Veja que, se o diretório não puder ser criado, a seguinte mensagem de erro será exibida:

C:/ruby/lib/ruby/1.8/fileutils.rb:243:in `mkdir': File 
  exists - estudos (Errno::
EEXIST)
  from C:/ruby/lib/ruby/1.8/fileutils.rb:243:in `fu_mkdir'
  from C:/ruby/lib/ruby/1.8/fileutils.rb:172:in `mkdir'
  from C:/ruby/lib/ruby/1.8/fileutils.rb:171:in `each'
  from C:/ruby/lib/ruby/1.8/fileutils.rb:171:in `mkdir'
  from estudos.rb:7



Java ::: Tratamento de Erros ::: Erros de Tempo de Execução

Como tratar o erro StringIndexOutOfBoundsException em seus programas Java - A exceção StringIndexOutOfBoundsException da linguagem Java

Quantidade de visualizações: 11919 vezes
A exceção StringIndexOutOfBoundsException é uma exceção (erro) que acontece quando fornecemos um índice fora dos limites permitidos para o acesso de caracteres individuais em uma string, geralmente usando o método charAt. Lembre-se de que os índices dos caracteres em uma string Java começam em 0 e vão até o tamanho da string menos 1.

Antes de vermos os exemplos, observe a posição da classe pública StringIndexOutOfBoundsException na hierarquia de classes da plataforma Java:

java.lang.Object
  java.lang.Throwable
    java.lang.Exception
      java.lang.RuntimeException
        java.lang.IndexOutOfBoundsException
          java.lang.StringIndexOutOfBoundsException

Esta classe implementa a interface Serializable.

Veja um trecho de código no qual fornecemos um índice de caractere inválido para o método charAt da classe String:

public class Estudos{
  public static void main(String args[]){
    String nome = "Java";     

    // vamos fornecer um índice inválido
    System.out.println(nome.charAt(4)); 

    System.exit(0);
  }
}

Compile este código e execute-o. Você verá a seguinte mensagem de erro:

Exception in thread "main" 
java.lang.StringIndexOutOfBoundsException: String 
index out of range: 4
  at java.lang.String.charAt(Unknown Source)
  at Estudos.main(Estudos.java:6)

Experimente trocar a linha:

System.out.println(nome.charAt(4));

por:

System.out.println(nome.charAt(3));

Compile novamente e execute. Você verá que a mensagem de erro desapareceu.


C# ::: Windows Forms ::: CheckBox

Como marcar ou desmarcar todas as CheckBox de um formulário C# Windows Forms de uma só vez via código

Quantidade de visualizações: 17340 vezes
Em algumas situações temos formulários com muitos controles CheckBox C# Windows Forms e gostaríamos de marcá-los ou desmarcá-los de uma só vez. Esta dica mostra como isso pode ser feito.

Para simular este exemplo, coloque vários controles CheckBox no formulário e coloque o código abaixo no evento Click de um botão:

private void button1_Click(object sender, EventArgs e){
  // vamos percorrer todos os controles do formulário
  for(int i = 0; i < this.Controls.Count; i++){
    // vamos testar se o controle é do tipo CheckBox
    if(this.Controls[i] is System.Windows.Forms.CheckBox){
      // é do tipo CheckBox. Vamos marcar
      (this.Controls[i] as CheckBox).Checked = true;
    }
  }
}

Se quiser desmarcar todas as CheckBoxes, troque a linha:

(this.Controls[i] as CheckBox).Checked = true;

por

(this.Controls[i] as CheckBox).Checked = false;


Ruby ::: Dicas & Truques ::: Strings e Caracteres

Como concatenar strings em Ruby usando o operador +

Quantidade de visualizações: 9611 vezes
Nesta dica mostrarei como podemos usar o operador + (operador de adição ou soma) para concatenar strings na linguagem Ruby. Veja:

frase1 = "Gosto muito de Ruby"
frase2 = " e de Java"

# vamos concatenar as duas strings
res = frase1 + frase2

# exibe o resultado
puts res

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

Gosto muito de Ruby e de Java


Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes)

Exercícios Resolvidos de Java - Como retornar o primeiro elemento de um vetor em Java

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

Escreva um programa Java que mostra como acessar e retornar o primeiro elemento de um array (vetor) Java.

Sua saída deverá ser parecida com:

Os elementos do vetor são: [9, 5, 3, 2, 4, 8]
O primeiro elemento do array é: 9 
Resposta/Solução:

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

package estudos;

import java.util.Arrays;

public class Estudos {
  public static void main(String[] args) {
    // vamos criar um array de inteiros
    int valores[] = {9, 5, 3, 2, 4, 8};
    System.out.println("Os elementos do vetor são: " +
      Arrays.toString(valores));
    
    // agora vamos retornar o primeiro elemento do vetor
    int primeiro = valores[0];
    
    // e mostramos o resultado
    System.out.println("O primeiro elemento do array é: " +
      primeiro);
  }
}



Java ::: Dicas & Truques ::: Strings e Caracteres

Como retornar a posição da última ocorrência de uma substring em uma string Java usando a função lastIndexOf() da classe String

Quantidade de visualizações: 206 vezes
Em algumas situações nós precisamos pesquisar uma substring em uma string Java e retornar o índice da última ocorrência encontrada. Para isso nós podemos usar o método lastIndexOf() da classe String.

Veja um exemplo completo de seu uso:

package estudos;

public class Estudos {
  public static void main(String[] args) {
    // Este exemplo mostra como pesquisar a última ocorrência 
    // de uma substring em uma string
    String frase = "As pessoas costumam entender tudo sobre pessoas";
    
    // verifica se a frase contém a palavra "pessoas" e
    // retorna a posição de sua última ocorrência
    int res = frase.lastIndexOf("pessoas");
    
    if(res > 0){
      System.out.println("A ultima ocorrencia foi encontrada na posicao: " 
        + res);
    }
    else{
      System.out.println("A substring nao foi encontrada");
    }
  }
}

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

A ultima ocorrencia foi encontrada na posicao: 40


Java ::: Java + MySQL ::: Metadados da Base de Dados (Database Metadata)

Java MySQL - Como obter uma lista das funções numéricas (matemática) suportadas pelo MySQL usando o método getNumericFunctions() da interface DatabaseMetaData

Quantidade de visualizações: 5684 vezes
Em algumas situações gostaríamos de, via código, obter uma lista das funções numéricas, ou seja, funções matemáticas, suportadas pelo MS SQL Server. Para isso podemos usar o método getNumericFunctions() da interface DatabaseMetaData. É importante observar que, no Sun Microsystem's JDBC Driver for MySQL, a interface DatabaseMetaData é implementada por uma classe do mesmo nome, no pacote com.mysql.jdbc.DatabaseMetaData. E esta classe implementa o método getNumericFunctions() de forma a retornar a lista de funções numéricas separadas por vírgulas.

Veja um trecho de código Java no qual listamos todas as funções numéricas suportados no MySQL 5.0:

package estudosbancodados;

import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.SQLException;

public class EstudosBancoDados{
  public static void main(String[] args) {
    // strings de conexão
    String databaseURL = "jdbc:mysql://localhost/estudos";
    String usuario = "root";
    String senha = "osmar1234";
    String driverName = "com.mysql.jdbc.Driver";

    try {
      Class.forName(driverName).newInstance();
      Connection conn = DriverManager.getConnection(databaseURL, usuario, senha);

      // vamos obter um objeto da classe com.mysql.jdbc.DatabaseMetaData
      DatabaseMetaData dbmd = conn.getMetaData();

      // vamos obter a lista de funções numéricas disponíveis
      // nesta versão do MySQL
      String funcoesNumericas = dbmd.getNumericFunctions();

      // como a lista de funções está separada por vírgulas, vamos obter
      // uma matriz de strings
      String funcoes[] = funcoesNumericas.split(",");

      // vamos mostrar o resultado
      for(int i = 0; i < funcoes.length; i++){
        System.out.println(funcoes[i]);
      }
    }
    catch (SQLException ex) {
      System.out.println("SQLException: " + ex.getMessage());
      System.out.println("SQLState: " + ex.getSQLState());
      System.out.println("VendorError: " + ex.getErrorCode());
    }
    catch (Exception e) {
      System.out.println("Problemas ao tentar conectar com o banco de dados: " + e);
    }
  }
}

Ao executarmos este código teremos o seguite resultado:

ABS
ACOS
ASIN
ATAN
ATAN2
BIT_COUNT
CEILING
COS
COT
DEGREES
EXP
FLOOR
LOG
LOG10
MAX
MIN
MOD
PI
POW
POWER
RADIANS
RAND
ROUND
SIN
SQRT
TAN
TRUNCATE

Carregar Publicações Anteriores


Nossas 20 dicas & truques de programação mais populares

Você também poderá gostar das dicas e truques de programação abaixo

Nossas 20 dicas & truques de programação mais recentes

Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site

Últimos Exercícios Resolvidos

E-Books em PDF

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

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



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