Você está aqui: C++ ::: Dicas & Truques ::: Strings e Caracteres |
Como contar as ocorrências de um caractere em uma string C++ usando a função count_if() e um predicado de comparaçãoQuantidade de visualizações: 434 vezes |
De todas as formas de retornar a quantidade de vezes que um caractere aparece em uma palavra, frase ou texto usando C++, esta é uma das mais interessantes, pois fiz uso da função count_if() e um predicado de comparação. Esta função é muito poderosa e permite a construções de códigos realmente muito úteis. 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 <string> #include <iostream> #include <algorithm> using namespace std; // função principal do programa int main(int argc, char *argv[]){ // vamos declarar uma string string frase; // vamos declarar um caractere char caractere; // vamos pedir para o usuário informar uma frase cout << "Informe uma frase: "; getline(cin, frase); // vamos pedir para o usuário informar um caractere cout << "Informe um caractere: "; cin >> caractere; // agora vamos contar as ocorrências do caractere desejado // usando a função count_if() e um predicado de comparação int quantidade = count_if(frase.begin(), frase.end(), [&caractere](char c){return c == caractere;}); // mostramos o resultado cout << "O caractere " << caractere << " foi encontrado " << quantidade << " vezes" << endl; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Ao executarmos este código C++ nós teremos o seguinte resultado: Informe uma frase: Quero aprender a programar Informe um caractere: r O caractere r foi encontrado 6 vezes |
Link para compartilhar na Internet ou com seus amigos: |
C++ ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Como usar o laço do...while da linguagem C++ - Apostila C++ para iniciantesQuantidade de visualizações: 24536 vezes |
O laço do..while é usado quando queremos executar um bloco de códigos repetidamente ENQUANTO uma condição for satisfeita. Porém, ao contrário do laço while, o laço do..while é sempre executado no mínimo uma vez, visto que a condição é testada antes da segunda interação, ou seja, o teste só ocorre no final da interação atual. Veja:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- do{ bloco de instruções }while(condição); Veja um exemplo de um laço do..while que conta de 10 à 0: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <string> #include <iostream> using namespace std; int main(int argc, char *argv[]){ // um laço do..while que conta de // 10 até 0 int valor = 10; do{ cout << valor << "\n"; valor--; }while(valor >= 0); cout << "\n\n"; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } |
C++ ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular desvio padrão em C++ - C++ para Matemática e EstatísticaQuantidade de visualizações: 753 vezes |
Em Matemática e Estatística, o Desvio padrão (em inglês: Standard Deviation) é uma medida de dispersão, ou seja, é uma medida que indica o quanto um conjunto de dados é uniforme. Quando o desvio padrão é baixo, isso quer dizer que os dados do conjunto estão mais próximos da média. Como calcular o desvio padrão de um conjunto de dados? Vamos começar analisando a fórmula mais difundida na matemática e na estatística: \[\sigma = \sqrt{ \frac{\sum_{i=1}^N (x_i -\mu)^2}{N}}\] Onde: a) __$\sigma__$ é o desvio; b) __$x_i__$ é um valor qualquer no conjunto de dados na posição i; c) __$\mu__$ é a média aritmética dos valores do conjunto de dados; d) N é a quantidade de valores no conjunto. O somatório dentro da raiz quadrada nos diz que devemos somar todos os elementos do conjunto, desde a posição 1 até a posição n, subtrair cada valor pela média do conjunto e elevar ao quadrado. Obtida a soma, nós a dividimos pelo tamanho do conjunto. Veja o código C++ completo que obtém o desvio padrão a partir de um conjunto de dados contendo quatro valores: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <iostream> #include <math.h> using namespace std; // função principal do programa int main(int argc, char *argv[]){ // conjunto dos dados double conjunto[] = {10, 30, 90, 30}; double soma = 0.0; // soma dos elementos double desvio_padrao = 0.0; // desvio padrão int tam = 4; // tamanho dos dados double media; // vamos somar todos os elementos for(int i = 0; i < tam; i++){ soma = soma + conjunto[i]; } // agora obtemos a média do conjunto de dados media = soma / tam; // e finalmente obtemos o desvio padrão for(int i = 0; i < tam; i++){ desvio_padrao = desvio_padrao + pow(conjunto[i] - media, 2); } // mostramos o resultado cout << "Desvio Padrão Populacional: " << sqrt(desvio_padrao / tam); cout << "\nDesvio Padrão Amostral: " << sqrt(desvio_padrao / (tam - 1)); cout << "\n" << endl; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Ao executar este código C++ nós teremos o seguinte resultado: Desvio Padrão Populacional: 30.0 Desvio Padrão Amostral: 34.64101615137755 Veja que, para calcular o Desvio Padrão Populacional, nós dividimos o somatório pela quantidade de elementos no conjunto, enquanto, para calcular o Desvio Padrão Amostral, nós dividimos o somatório pela quantidade de elementos - 1 (cuidado com a divisão por zero no caso de um conjunto com apenas um elemento). |
C++ ::: C++ para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como calcular a norma ou módulo de vetores nos espaços R2 e R3 usando C++ - Geometria Analítica e Álgebra Linear usando C++Quantidade de visualizações: 1954 vezes |
Em Geometria Analítica e Álgebra Linear, a magnitude, norma, comprimento, tamanho ou módulo (também chamado de intensidade na Física) de um vetor é o seu comprimento, que pode ser calculado por meio da distância de seu ponto final a partir da origem, no nosso caso (0,0). Considere o seguinte vetor no plano, ou seja, no espaço bidimensional, ou R2: \[\vec{v} = \left(7, 6\right)\] Aqui este vetor se inicia na origem (0, 0) e vai até as coordenadas (x = 7) e (y = 6). Veja sua plotagem no plano 2D: Note que na imagem já temos todas as informações que precisamos, ou seja, o tamanho desse vetor é 9 (arredondado) e ele faz um ângulo de 41º (graus) com o eixo x positivo. Em linguagem mais adequada da trigonometria, podemos dizer que a medida do cateto oposto é 6, a medida do cateto adjacente é 7 e a medida da hipotenusa (que já calculei para você) é 9. Note que já mostrei também o ângulo theta (__$\theta__$) entre a hipotenusa e o cateto adjacente, o que nos dá a inclinação da reta representada pelos pontos (0, 0) e (7, 6). Relembrando nossas aulas de trigonometria nos tempos do colegial, temos que o quadrado da hipotenusa é a soma dos quadrados dos catetos, ou seja, o Teorema de Pitágoras: \[a^2 = b^2 + c^2\] Como sabemos que a potenciação é o inverso da radiciação, podemos escrever essa fórmula da seguinte maneira: \[a = \sqrt{b^2 + c^2}\] Passando para os valores x e y que já temos: \[a = \sqrt{7^2 + 6^2}\] Podemos comprovar que o resultado é 9,21 (que arredondei para 9). Não se esqueça da notação de módulo ao apresentar o resultado final: \[\left|\vec{v}\right| = \sqrt{7^2 + 6^2}\] E aqui está o código C++ que nos permite informar os valores x e y do vetor e obter o seu comprimento, tamanho ou módulo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <string> #include <iostream> #include <math.h> using namespace std; int main(int argc, char *argv[]){ float x, y, norma; // vamos ler os valores x e y cout << "Informe o valor de x: "; cin >> x; cout << "Informe o valor de y: "; cin >> y; // vamos calcular a norma do vetor norma = sqrt(pow(x, 2) + pow(y, 2)); // mostra o resultado cout << "A norma do vetor é: " << norma; cout << "\n\n"; system("PAUSE"); return 0; } Ao executar este código C++ nós teremos o seguinte resultado: Informe o valor de x: 7 Informe o valor de y: 6 A norma do vetor é: 9.219544457292887 Novamente note que arredondei o comprimento do vetor para melhor visualização no gráfico. Para calcular a norma de um vetor no espaço, ou seja, no R3, basta acrescentar o componente z no cálculo. |
Desafios, Exercícios e Algoritmos Resolvidos de C++ |
Veja mais Dicas e truques de C++ |
Dicas e truques de outras linguagens |
C# - Como ordenar alfabeticamente os itens de uma ListBox do C# Windows Forms usando a propriedade Sorted |
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 |