C# ::: Dicas & Truques ::: Strings e Caracteres

Como embaralhar os caracteres de uma string em C# usando um objeto da classe Random

Quantidade de visualizações: 11184 vezes
Nesta dica mostrarei como podemos embaralhar os caracteres de uma palavra, frase ou texto na linguagem C#. Para isso nós faremos uso do método ToCharArray() da classe String para extrair os caracteres da string como um vetor de chars.

Em seguida usaremos um objeto da classe Random para gerar números randômicos que serão usados para auxiliar na troca dos caracteres contidos no vetor.

Veja o código completo para o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

using System;

namespace Estudos {
  class Principal {
    static void Main(string[] args) {
      string palavra = "ARQUIVO";

      // converte em uma matriz de caracteres
      char[] letras = palavra.ToCharArray();

      // mostramos a palavra original
      Console.WriteLine("Palavra original: " + palavra);

      // vamos embaralhar 5 vezes
      embaralhar(ref letras, 5);

      // junta as partes da string novamente
      string nova_palavra = new String(letras);

      // exibe o resultado
      Console.WriteLine("Palavra embaralhada: " + nova_palavra);

      Console.WriteLine("\nPressione uma tecla para sair...");
      Console.ReadKey();
    }

    static void embaralhar(ref char[] array, int vezes) {
      Random rand = new Random(DateTime.Now.Millisecond);

      for (int i = 1; i <= vezes; i++) {
        for (int x = 1; x <= array.Length; x++) {
          trocar(ref array[rand.Next(0, array.Length)],
            ref array[rand.Next(0, array.Length)]);
        }
      }
    }

    static void trocar(ref char arg1, ref char arg2) {
      char strTemp = arg1;
      arg1 = arg2;
      arg2 = strTemp;
    }
  }
}

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

Palavra original: ARQUIVO
Palavra embaralhada: UVIARQO


Rust ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Como retornar o tamanho de um array em Rust usando a função len()

Quantidade de visualizações: 802 vezes
Em várias situações nós precisamos obter e retornar a quantidade de elementos em um vetor Rust, ou seja, um array. Para isso nós podemos usar a função len() do objeto Array.

Veja um exemplo Rust no qual nós criamos um array com cinco elementos do tipo inteiro e em seguida usando a função len() para retornar o seu tamanho:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

// função principal do programa Rust
fn main() {
  // vamos criar um array com 5 elementos
  let valores = [7, 3, 4, 9, 1];
  
  // agora vamos obter o tamanho do array
  let tamanho = valores.len();
  
  // e mostramos o resultado
  println!("O array possui {} elementos", tamanho);
}

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

O array possui 5 elementos


C ::: Dicas & Truques ::: Strings e Caracteres

Como concatenar strings em C usando a função strcat() - Aprenda a programar na linguagem C

Quantidade de visualizações: 42627 vezes
Concatenar strings é a operação de anexar uma string a outra. Em C, isso é feito com o auxílio da função strcat(), disponível no header string.h. Esta função recebe a string de destino, a string de origem, anexa a string de destino no final da string de origem e retorna um ponteiro para o resultado final. Veja um exemplo no qual usamos esta função para concatenar três strings:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

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

int main(int argc, char *argv[])
{
  char frase1[100] = "Gosto";
  strcat(frase1, " muito de ");
  strcat(frase1, " programar em C");

  // exibe o resultado
  printf("%s\n\n", frase1);

  system("PAUSE");
  return 0;
}


Veja que a string de destino deve ser declarada com um tamanho suficiente para acomodar as strings que serão anexadas a ela. Veja agora um exemplo que usa o ponteiro retornado pela função strcat() para inicializar um ponteiro do tipo char:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

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

int main(int argc, char *argv[])
{
  // declara e inicializa duas strings
  char frase1[100] = "Gosto muito de ";
  char frase2[15] = "programar em C";
  char *res = strcat(frase1, frase2);

  // exibe o resultado
  printf("%s\n\n", res);

  system("PAUSE");
  return 0;
}



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

Exercício Resolvido de Java - Como rotacionar os elementos de um vetor de inteiros n vezes para a direita - Solução usando força-bruta

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

Dado o vetor:

// vamos criar um vetor de inteiros
int valores[] = {1, 6, 9, 3, 7, 8, 5, 2};
Escreva um método Java que rotaciona este vetor para a direita um determinado número de casas. A função deverá receber o array e um inteiro indicando o número de rotações, ou seja, o número de vezes que os elementos do vetor serão movimentados para a direita.

Sua saída deverá ser parecida com:

Array na ordem original:
1 6 9 3 7 8 5 2 

Rotação do vetor depois do passo 1:
2 1 6 9 3 7 8 5 

Rotação do vetor depois do passo 2:
5 2 1 6 9 3 7 8 

Rotação do vetor depois do passo 3:
8 5 2 1 6 9 3 7 

Array depois de rotacionar 3 vezes:
8 5 2 1 6 9 3 7
Resposta/Solução:

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

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

package estudos;

public class Estudos {
  public static void main(String[] args) {
    // vamos criar um vetor de inteiros
    int valores[] = {1, 6, 9, 3, 7, 8, 5, 2};
    
    // mostramos o array na ordem original
    System.out.println("Array na ordem original:");
    exibirVetor(valores);
    
    // vamos rotacionar o array 3 casas para a direita
    valores = rotacionarArray(valores, 3);
    
    // e mostramos o resultado
    System.out.println("Array depois de rotacionar 3 vezes:");
    exibirVetor(valores);
  }
  
  // método usado para exibir o array
  public static void exibirVetor(int []vetor){
    // percorremos cada elemento do vetor
    for (int i = 0; i < vetor.length; i++) {
      System.out.print(vetor[i] + " ");
    }
    System.out.println("\n");
  }
  
  // método que recebe um vetor de inteiros e o rotaciona um
  // determinado número de vezes
  public static int[] rotacionarArray(int[] vetor, int n) {
    // um laço externo que repete a mesma quantidade de n
    for (int i = 0; i < n; i++) {
      // começamos no último elemento e regredimos até
      // o segundo elemento do vetor
      for (int j = vetor.length - 1; j > 0; j--) {
        // avançamos um elemento de cada vez para
        // a direita
        int temp = vetor[j];
        vetor[j] = vetor[j - 1];
        vetor[j - 1] = temp;
      }  

      // mostramos o progresso
      System.out.println("Rotação do vetor depois do passo " + (i + 1) + ":");
      exibirVetor(vetor);
    }
    return vetor;
  }
}

A solução que apresentamos aqui usa a força-bruta, isto é, uma solução não otimizada e pouco recomendada para arrays com um número exagerado de elementos. Por ser força-bruta, o laço interno percorre todos os elementos do vetor, trocando-os de lugares. Em outras dicas do site nós colocamos versões melhoradas deste código.


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 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
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

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


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 Apenas R$ 32,90

Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica.


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