Você está aqui: C++ ::: Dicas & Truques ::: Matemática e Estatística |
Como testar se um número é primo em C++Quantidade de visualizações: 3016 vezes |
O Número Primo é o número maior que 1 e que só pode ser dividido por 1 e por ele mesmo, ou seja, números primos não podem ser divididos por outros números, a não ser por ele mesmo e pelo número 1. Dessa forma, 2, 3, 5, 7, 11, 13, 17, etc, são todos números primos. É importante observar que 0 e 1 não são números primos, e que o número 2 é o único número primo par. Veja agora um código C++ completo que pede para o usuário informar um número inteiro positivo e mostra uma mensagem indicando se o número informado é primo ou não: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <iostream> #include <cstdlib> using namespace std; int main(int argc, char *argv[]){ int numero; bool primo = true; // vamos solicitar um número inteiro positivo cout << "Informe um número inteiro positivo: "; cin >> numero; // o número é negativo? if(numero < 0){ cout << "Número inválido.\n\n"; } // é 0 ou 1? else if((numero == 0) || (numero == 1)){ cout << "Número válido, mas não é primo.\n\n"; } // passou até aqui. Vamos testar se o número é primo else{ for (int i = 2; i <= (numero / 2); i++){ // se passar no teste, não é primo if (numero % i == 0) { primo = false; break; } } if(primo){ cout << "O número informado é primo\n\n"; } else{ cout << "O número informado não é primo\n\n"; } } system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Ao executar este código C++ nós teremos o seguinte resultado: Informe um número inteiro positivo: 9 O número informado não é primo |
![]() |
C++ ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o cateto oposto dadas as medidas da hipotenusa e do cateto adjascente em C++Quantidade de visualizações: 963 vezes |
Todos estamos acostumados com o Teorema de Pitágoras, que diz que "o quadrado da hipotenusa é igual à soma dos quadrados dos catetos". Baseado nessa informação, fica fácil retornar a medida do cateto oposto quando temos as medidas da hipotenusa e do cateto adjascente. Isso, claro, via programação em linguagem C++. Comece observando a imagem a seguir: ![]() Veja que, nessa imagem, eu já coloquei os comprimentos da hipotenusa, do cateto oposto e do cateto adjascente. Para facilitar a conferência dos cálculos, eu coloquei também os ângulos theta (que alguns livros chamam de alfa) e beta já devidamente calculados. A medida da hipotenusa é, sem arredondamentos, 36.056 metros. Então, sabendo que o quadrado da hipotenusa é igual à soma dos quadrados dos catetos (Teorema de Pitógoras): \[c^2 = a^2 + b^2\] Tudo que temos que fazer é mudar a fórmula para: \[a^2 = c^2 - b^2\] Veja que agora o quadrado do cateto oposto é igual ao quadrado da hipotenusa menos o quadrado do cateto adjascente. Não se esqueça de que a hipotenusa é o maior lado do triângulo retângulo. Veja agora como esse cálculo é feito em linguagem C++: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <iostream> #include <math.h> #include <cstdlib> using namespace std; int main(int argc, char *argv[]){ float c = 36.056; // medida da hipotenusa float b = 30; // medida do cateto adjascente // agora vamos calcular o comprimento da cateto oposto float a = sqrt(pow(c, 2) - pow(b, 2)); // e mostramos o resultado cout << "A medida do cateto oposto é: " << a << "\n\n"; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Ao executar este código C++ nós teremos o seguinte resultado: A medida do cateto oposto é: 20.0009 Como podemos ver, o resultado retornado com o código C++ confere com os valores da imagem apresentada. |
C++ ::: Dicas & Truques ::: Strings e Caracteres |
Como substituir todas as ocorrências de uma substring em uma string C++ usando uma função substituir_string() personalizadaQuantidade de visualizações: 10303 vezes |
Nesta dica mostrarei como podemos tirar proveito das funções empty(), size(), find(), replace() e length() da classe String do C++ para escrever uma função substituir_string() personalizada que nos permite substituir todas as ocorrências de uma substring em uma string. 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> using namespace std; // função personalizada para substituir todas as ocorrências // de uma substring em uma string void substituir_string(string& str, const string de, const string para){ // variáveis auxiliares int i = 0, indice; // a string está vazia? if(str.empty()){ str = de; return; } // fazemos as substituições da substring while(i < str.size()){ indice = str.find(de, 0); if(indice >= 0){ str.replace(indice, de.length(), para); } else{ return; } i++; } } // função principal do programa int main(int argc, char *argv[]){ // vamos criar uma string string frase = "Java? Gosto de Java, Java!"; cout << "A frase original é: " << frase << endl; // Substitui as ocorrências de "Java" por "PHP" substituir_string(frase, "Java", "PHP"); // e mostramos o resultado cout << "Depois da substituição: " << frase << endl; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Ao executar este código C++ nós teremos o seguinte resultado: A frase original é Java? Gosto de Java, Java! Depois da substituição: PHP? Gosto de PHP, PHP! |
C++ ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Como usar o laço while da linguagem C++ - C++ para iniciantesQuantidade de visualizações: 19346 vezes |
O laço while é usado quando queremos executar um bloco de instruções repetidamente ENQUANTO uma condição for satisfeita. Veja a sintáxe deste laço:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- while(expressão){ bloco de instruções } A parte expressão deve sempre resultar em um valor true ou false quando avaliada. Veja um trecho de código no qual temos um laço while que conta de 0 a 10: ---------------------------------------------------------------------- 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 while que permite contar de 0 a 10 int valor = 0; while(valor <= 10){ cout << valor << "\n"; valor++; } cout << "\n\n"; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } É importante lembrar que o C++, ao contrário do C, possui um tipo booleano. Este tipo é chamado bool e pode ser usado em um laço while da seguinte forma: ---------------------------------------------------------------------- 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 while que mostra como usar o tipo // bool bool pode = true; int valor = 0; while(pode){ cout << valor << "\n"; valor++; // vamos parar o laço aqui if(valor > 10) pode = false; } cout << "\n\n"; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Lembre-se de que um laço while pode nunca ser executado, ou seja, se a condição testada for sempre insatisfatória, o fluxo de código passará para a próxima instrução após o laço. Veja: ---------------------------------------------------------------------- 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 while que nunca é executado int valor = 0; while(valor > 10){ cout << valor << "\n"; valor++; } cout << "\n\n"; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } |
Desafios, Exercícios e Algoritmos Resolvidos de C++ |
Veja mais Dicas e truques de C++ |
Dicas e truques de outras linguagens |
Códigos Fonte |
![]() 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 |
![]() 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 |