Você está aqui: C++ ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
|
Como ordenar os elementos de vetor C++ usando a Ordenação da Bolha (Bubble Sort) - RevisadoQuantidade de visualizações: 15314 vezes |
|
O método ou algorítmo de ordenação da bolha é uma das técnicas mais simples de ordenação. No entanto, este método não é eficiente, visto que o tempo despendido para sua execução é muito elevado se comparado à outros métodos existentes. Geralmente usamos este método quando queremos ordenar 50 elementos ou menos. O entendimento deste método é fácil. Se estivermos ordenando os valores do menor para o maior, o método da bolha percorre os elementos da matriz, comparando e movendo o menor valor para a primeira posição do vetor (array), tal qual bolhas indo para a superfície. Veja um exemplo completo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <iostream> using namespace std; void bubble_sort(int matriz[], int tam){ int temp, i, j; for(i = 0; i < tam; i++){ for(j = 0; j < tam; j++){ if(matriz[i] < matriz[j]){ temp = matriz[i]; matriz[i] = matriz[j]; matriz[j] = temp; } } } } int main(int argc, char *argv[]) { int valores[] = {4, 6, 2, 8, 1, 9, 3, 0, 11}; int const quant_elem = 9; // imprime a matriz sem a ordenação for(int i = 0; i < quant_elem; i++){ cout << valores[i] << " "; } // vamos ordenar a matriz bubble_sort(valores, quant_elem); // imprime a matriz ordenada cout << endl; for(int i = 0; i < 9; i++){ cout << valores[i] << " "; } cout << "\n" << endl; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Ao executarmos este código 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: | |
C++ ::: Win32 API (Windows API) ::: Strings e Caracteres |
Como converter caracteres individuais para letras maiúsculas usando a função CharUpper() da API do Windows a partir de seus códigos C++Quantidade de visualizações: 9476 vezes |
Pode usar a função CharUpper() da API do Windows para converter um caractere para seu correspondente em letra maiúscula. Veja o protótipo da função:LPTSTR CharUpper( LPTSTR lpsz ); Veja um exemplo no qual usamos esta função para converter uma letra minúscula em maiúscula: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <cstdlib> #include <iostream> #include <windows.h> using namespace std; int main(int argc, char *argv[]){ CHAR letra = 'a'; // vamos converter para letra maiúscula CharUpper(&letra); // vamos exibir o resultado cout << letra << endl; system("PAUSE"); return EXIT_SUCCESS; } Note que aqui nós fornecemos um ponteiro para o caractere que queremos transformar. Isso resulta em uma conversão sendo efetuada diretamente no caractere para o qual o ponteiro está apontando no momento. Podemos também obter o resultado da conversão em um outro ponteiro e usá-lo posteriormente. Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <cstdlib> #include <iostream> #include <windows.h> using namespace std; int main(int argc, char *argv[]){ CHAR letra = 'a'; // vamos converter para letra maiúscula CHAR *resultado = CharUpper(&letra); // vamos exibir o resultado cout << *resultado << endl; system("PAUSE"); return EXIT_SUCCESS; } |
C++ ::: STL (Standard Template Library) ::: Vector C++ |
Como excluir todos os elementos de um vector C++ usando a função clear()Quantidade de visualizações: 17592 vezes |
Em algumas situações precisamos remover todos os elementos de um vector. Para isso podemos usar a função clear(). Esta função não requer nenhum argumento e possui retorno void. À medida que os elementos vão sendo removidos, seus destrutores são chamados (no caso de os elementos no vector serem referências e não tipos primitivos). Veja o código C++ completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <iostream> #include <vector> using namespace std; int main(int argc, char *argv[]){ // um vector vazio que conterá inteiros vector<int> valores; // vamos inserir três elementos valores.push_back(54); valores.push_back(13); valores.push_back(87); // vamos obter a quantidade de elementos no vector cout << "Quantidade de elementos: " << valores.size() << endl; // vamos remover todos os elementos, ou seja, limpar o vector valores.clear(); // vamos obter a quantidade de elementos no vector novamente cout << "Quantidade de elementos: " << valores.size() << endl; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Ao executar este código C++ nós teremos o seguinte resultado: Quantidade de elementos: 3 Quantidade de elementos: 0 |
C++ ::: Dicas & Truques ::: Arquivos e Diretórios |
Como criar diretórios em C++ usando a função mkdir()Quantidade de visualizações: 10283 vezes |
Em algumas situações nossos códigos C++ precisam criar diretórios. Isso pode ser feito com o auxílio da função mkdir(), disponível no header direct.h (trazido da linguagem C). Veja a assinatura desta função:int _mkdir(const char *pathname); Veja um trecho de código C++ no qual criamos um diretório no mesmo diretório do executável. ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <iostream> #include <direct.h> using namespace std; int main(int argc, char *argv[]){ // vamos criar o diretório char diretorio[] = "estudos"; // vamos testar se houve erro na criação do diretório if(mkdir(diretorio) == -1){ cout << "Erro: " << strerror(errno) << endl; } else{ cout << "Diretório criado com sucesso" << endl; } system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } É possível usar a versão Unicode de mkdir(), ou _mkdir(). O método _wmkdir(), também presente em direct.h é útil quando precisamos internacionalizar nossas aplicações. Veja o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <iostream> #include <direct.h> using namespace std; int main(int argc, char *argv[]){ // vamos criar o diretório wchar_t diretorio[] = L"C:\\Dev-Cpp\\estudos"; // vamos testar se houve erro na criação do diretório if(_wmkdir(diretorio) == -1){ cout << "Erro: " << strerror(errno) << endl; } else{ cout << "Diretório criado com sucesso" << endl; } system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Note que agora eu troquei o tipo char por wchar_t e usei o sinalizado L antes da atribuição da string. |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
Ética Empresarial e Profissional: Noções Gerais Para Cortella (2007), a ética é um grupo de princípios e valores que usamos para optar entre três situações significativas da nossa existência. Elas estão presentes em nosso cotidiano e, por essa razão, é necessário estar preparado para efetuar a escolha da melhor forma possível. Assinale a alternativa que contém as três grandes situações que nos afligem e requerem decisão. A) Quero; devo; é verdadeiro. B) É falso; posso; quero. C) Quero; devo; posso. D) Posso; moral; certeza. E) Posso; devo; religiosidade. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
Princípios específicos do Direito do Consumidor (Juiz do Trabalho - RJ - 2015). Sob a visão clássica, cinco são os princípios que regem o direito contratual. A relação de consumo é ajustada por contrato e aqueles princípios também a ela se aplicam. Contudo, em face da natureza da relação de consumo, alguns desses princípios têm seu valor reduzido, enquanto outros assumem relevância. Tem relevância para a relação de consumo, o seguinte princípio do direito contratual: A) Da ordem pública. B) Da relatividade dos contratos. C) Da boa-fé. D) De obediência às regras mercantis. E) Da autonomia da vontade. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
Noções de licitação pública Tipo de licitação é a forma como se dará o julgamento das propostas e a escolha do vencedor. Em relação aos tipos e às modalidades da licitação pública, leia com atenção a afirmativa a seguir: O _________ será sempre pelo tipo ____________; o __________ será sempre pelo tipo _____________; o _____________ não será por nenhum tipo; já as demais modalidades podem ser por qualquer tipo, sendo a regra o menor preço. Marque a alternativa que preenche as lacunas de forma correta. A) leilão - menor preço - pregão - maior lance ou oferta - concorrência. B) pregão - menor preço - leilão - maior lance ou oferta - concurso. C) concurso - melhor técnica - leilão - técnica e preço - convite. D) pregão - técnica e preço - leilão - maior lance ou oferta - concurso. E) concurso - menor preço - leilão maior lance ou oferta - convite. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Python |
Qual o resultado da execução do seguinte código Python?estados = {"SP": "SÃO PAULO", "GO": "GOIÁS", "RJ": "RIO DE JANEIRO", "MG": "MINAS GERAIS"} print("GO" in estados) A) "GO" B) True C) False D) "SP", "GO", "RJ", "MG" E) "GOIÁS" Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
Responsabilidade civil no código de defesa do consumidor Um consumidor contrata um eletricista para consertar falhas na instalação elétrica de sua casa. Depois de alguns dias de trabalho e o serviço finalizado, o consumidor percebe que o problema não foi solucionado. Nessa situação, podemos perceber que: A) está presente o fato do serviço ou defeito. B) está presente o fato do serviço, mas também há vício do serviço. C) ocorreu vício do serviço. D) há vício do produto. E) ocorreu fato do produto ou defeito. Verificar Resposta Estudar Cards Todas as Questões |
Desafios, Exercícios e Algoritmos Resolvidos de C++ |
Veja mais Dicas e truques de C++ |
Dicas e truques de outras linguagens |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |