C++ ::: Dicas & Truques ::: Strings e Caracteres |
Como inverter uma string em C++ usando as funções begin(), end() e reverse()Quantidade de visualizações: 13721 vezes |
|
Em várias situações nós precisamos inverter a ordem dos caracteres de uma palavra, frase ou texto em C++. Para isso nós podemos usar uma combinação das funções begin(), end() e reverse() da biblioteca padrão do C++. Veja o código completo para o exemplo:
#include <string>
#include <iostream>
#include <algorithm>
using namespace std;
// função principal do programa C++
int main(int argc, char *argv[]){
// vamos declarar um objeto da classe string
string frase = "Gosto de programar em C++";
// vamos mostrar a string original
cout << "String original: " << frase << endl;
// agora vamos usar a função reverse() para inverter o
// conteúdo da string
reverse(frase.begin(), frase.end());
// e mostramos o resultado
cout << "String invertida: " << frase << endl;;
cout << "\n" << endl;
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Ao executarmos este código C++ nós teremos o seguinte resultado: String original: Gosto de programar em C++ String invertida: ++C me ramargorp ed otsoG |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de Java - Como testar se um array possui valores repetidos em JavaQuantidade de visualizações: 2165 vezes |
|
Pergunta/Tarefa: Escreva um programa Java que declara, constrói um vetor de 10 posições e pede ao usuário para informar os valores de seus elementos. Em seguida, varra o vetor e informe a existência ou não de valores repetidos. Sua saída deverá ser parecida com: Informe o valor para o índice 0: 3 Informe o valor para o índice 1: 6 Informe o valor para o índice 2: 8 Informe o valor para o índice 3: 10 Informe o valor para o índice 4: 2 Informe o valor para o índice 5: 4 Informe o valor para o índice 6: 6 Informe o valor para o índice 7: 10 Informe o valor para o índice 8: 3 Informe o valor para o índice 9: 30 Há valores repetidos no vetor Veja a resolução comentada deste exercício usando Java:
package estudos;
import java.util.Scanner;
public class Estudos {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
// vamos declarar e construir um vetor de 10 elementos
int valores[] = new int[10];
// vamos pedir que o usuário informe os valores
for(int i = 0; i < valores.length; i++){
System.out.print("Informe o valor para o índice " + i + ": ");
valores[i] = Integer.parseInt(entrada.nextLine());
}
// agora vamos verificar se o vetor possui valores repetidos
boolean repetidos = false;
// percorremos todos os elementos do vetor
for(int i = 0; i < valores.length; i++){
// para cada elemento em i nos verificamos os que estão nos indices seguintes
for(int j = i + 1; j < valores.length; j++){
// encontramos algum repetido?
if(valores[j] == valores[i]){
repetidos = true;
break; // saímos do laço
}
}
}
if(repetidos){
System.out.println("Há valores repetidos no vetor");
}
else{
System.out.println("Nao há valores repetidos no vetor");
}
System.out.println("\n");
}
}
|
Java ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como testar se uma matriz é simétrica em JavaQuantidade de visualizações: 1364 vezes |
|
Uma matriz simétrica é uma matriz que é igual à sua transposta. Para que esta definição faça sentido, apenas podemos considerar matrizes que são quadradas, ou seja, mesma quantidade de linhas e colunas. De forma mais precisa, se A=[aij] é uma matriz de ordem n x n, nós dizemos que A é simétrica quando A=At. Veja um código Java completo no qual nós declaramos uma matriz quadrada de ordem 3, pedimos para o usuário informar os valores de seus elementos e no final informamos se a matriz é uma matriz simétrica:
package estudos;
import java.util.Scanner;
public class Estudos{
public static void main(String[] args){
int n = 3; // ordem da matriz quadrada
int matriz[][] = new int[n][n]; // matriz quadrada
// para efetuar a leitura do usuário
Scanner entrada = new Scanner(System.in);
// vamos pedir para o usuário informar os elementos da matriz
for (int i = 0; i < n; i++){
for (int j = 0; j < n; j++) {
System.out.print("Elemento na linha " + (i + 1) +
" e coluna " + (j + 1) + ": ");
matriz[i][j] = Integer.parseInt(entrada.nextLine());
}
}
// agora verificamos se a matriz é simétrica
boolean simetrica = true;
for (int i = 0; (i < n) && (simetrica); i++) {
for (int j = 0; (j < i) && (simetrica); j++) {
// os elementos em posicoes simetricas sao iguais?
if (matriz[i][j] != matriz[j][i]){
simetrica = false;
}
}
}
// agora mostramos a matriz lida
System.out.printf("\n");
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
System.out.printf("%d ", matriz[i][j]);
}
System.out.printf("\n");
}
if (simetrica){
System.out.printf("\nA matriz informada é uma matriz simétrica.\n");
}
else{
System.out.printf("\nA matriz informada não é uma matriz simétrica.\n");
}
}
}
Ao executar este código Java nós teremos o seguinte resultado: Elemento na linha 1 e coluna 1: 5 Elemento na linha 1 e coluna 2: 1 Elemento na linha 1 e coluna 3: 2 Elemento na linha 2 e coluna 1: 1 Elemento na linha 2 e coluna 2: 6 Elemento na linha 2 e coluna 3: 3 Elemento na linha 3 e coluna 1: 2 Elemento na linha 3 e coluna 2: 3 Elemento na linha 3 e coluna 3: 8 5 1 2 1 6 3 2 3 8 A matriz informada é uma matriz simétrica. |
C# ::: Dicas & Truques ::: Data e Hora |
Como adicionar ou subtrair meses de uma data em C# usando a função AddMonths() da classe DateTimeQuantidade de visualizações: 12507 vezes |
|
Em algumas situações nossos códigos precisam adicionar ou subtrair meses de uma data. Isso pode ser feito com o auxílio do método AddMonths() da estrutura DateTime. Este método recebe o número de meses a serem acrescidos ou substraídos da data representada pelo DateTime atual e retorna um novo DateTime com as devidas modificações. Veja um trecho de código no qual adicionamos 3 meses à data atual:
static void Main(string[] args){
// vamos obter a data de hoje
DateTime hoje = DateTime.Now;
// exibe a data de hoje
System.Console.WriteLine("Hoje é {0:d}", hoje);
// vamos adicionar 3 meses à data de hoje
DateTime data_futura = hoje.AddMonths(3);
// exibe a data daqui a três meses
System.Console.WriteLine("Daqui a 3 meses será {0:d}", data_futura);
// pausa o programa
System.Console.Write("\nPressione qualquer tecla para sair...");
Console.ReadKey();
}
É possível também subtrair meses. Para isso só precisamos fornecer um valor negativo para o método AddMonths(). Veja:
static void Main(string[] args){
// vamos obter a data de hoje
DateTime hoje = DateTime.Now;
// exibe a data de hoje
System.Console.WriteLine("Hoje é {0:d}", hoje);
// vamos subtrair 5 meses da data de hoje
DateTime data_passado = hoje.AddMonths(-5);
// exibe a data 5 meses atrás
System.Console.WriteLine("Há 5 meses era {0:d}", data_passado);
// pausa o programa
System.Console.Write("\nPressione qualquer tecla para sair...");
Console.ReadKey();
}
Lembre-se, contudo, que o método AddMonths() pode disparar uma exceção do tipo ArgumentOutOfRangeException se o DateTime resultante for menor que MinValue ou maior que MaxValue. MinValue e MaxValue são os menor e maior valores que um DateTime pode representar. Esta exceção também será disparada se o valor fornecido para o mês for menor que -120.000 ou maior que 120.000. |
Nossas 20 dicas & truques de programação mais populares |
|
JavaScript - Como adicionar elementos no início de um array JavaScript usando a função unshift() do objeto Array |
Você também poderá gostar das dicas e truques de programação abaixo |
|
JavaScript - Como retornar o índice da primeira ocorrência de um elemento em um array do JavaScript usando a função indexOf() |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
|
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





