Você está aqui: C++ ::: Desafios e Lista de Exercícios Resolvidos ::: C++ Básico |
Como retornar o resto da divisão entre dois números inteiros sem usar o operador de módulo - Desafio de Programação Resolvido em C++Quantidade de visualizações: 352 vezes |
Pergunta/Tarefa: Sempre que o assunto é calcular o resto da divisão entre dois números inteiros em C++, a primeira coisa que vem à nossa mente é usar o operador de módulo (%). Mas você sabia que é possível efetuar essa tarefa sem usar este operador? Vamos ao desafio então. Escreva um programa C++ que pede para o usuário informar dois números inteiros e mostre o resto da divisão entre os dois sem usar o operador de módulo. Seu código não poderá usar funções matemáticas prontas, apenas os demais operadores aritméticos fornecidos pela linguagem C++. Sua saída deverá ser parecida com: Primeiro número inteiro: 11 Segundo número inteiro: 7 O resto da divisão é: 4 Primeiro número inteiro: 9 Segundo número inteiro: 2 O resto da divisão é: 1 Primeiro número inteiro: 13 Segundo número inteiro: 5 O resto da divisão é: 3 Veja a resolução comentada deste exercício em C++: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <iostream> using namespace std; // função principal do programa int main(int argc, char *argv[]){ // variáveis usadas para resolver o problema int a, b, resto; // vamos ler os dois números inteiros cout << "Primeiro número inteiro: "; cin >> a; cout << "Segundo número inteiro: "; cin >> b; // agora vamos calcular o resto da divisão resto = a - ((a / b) * b); // e mostramos o resultado cout << "O resto da divisão é: " << resto << endl; cout << "\n" << endl; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } |
![]() |
C++ ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade) |
Exercício Resolvido de C++ - Um método recursivo que conta de 0 até 10Quantidade de visualizações: 894 vezes |
Pergunta/Tarefa: Escreva um método recursivo que conta e exibe os valores de 0 até 10. Seu método deverá possuir a seguinte assinatura: void contar_recursivamente(int n){ // sua implementação aqui } Sua saída deverá ser parecida com: 0 1 2 3 4 5 6 7 8 9 10 Veja a resolução comentada deste exercício usando C++: ---------------------------------------------------------------------- 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; // método recursivo que conta de 0 até 10; void contar_recursivamente(int n){ // vamos exibir o número atual cout << n << " "; // devemos prosseguir com a recursividade? if(n < 10){ // incrementa o valor de n n++; contar_recursivamente(n); // e faz uma nova chamada recursiva } } // função principal do programa int main(int argc, char *argv[]){ // efetua uma chamada ao método recursivo fornecendo o primeiro valor contar_recursivamente(0); cout << "\n\n"; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } |
C++ ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de C++ - Desafio do número ausente. Dado um vetor de números naturais 1..n, encontre o valor ausenteQuantidade de visualizações: 625 vezes |
Pergunta/Tarefa: Dado o vetor: int valores[] = {1, 8, 7, 2, 6, 5, 3}; Encontre o elemento ausente na sequência de valores do vetor, sabendo que o primeiro valor é 1 e o último elemento é 8. Perceba que o vetor não precisa estar ordenado. Além disso, o entrevistador se certificará de que os valores serão sempre positivos e não haverá valores repetidos. Sua saída deverá ser parecida com: O número ausente é: 4 Dica: Use a fórmula n * (n + 1) / 2 para facilitar a resolução do exercício. Veja a resolução comentada deste exercício usando C++: ---------------------------------------------------------------------- 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[]){ // vamos declarar um vetor de inteiros faltando // um valor na sequência (não necessariamente ordenada) // Note a ausência do número 4 int valores[] = {1, 8, 7, 2, 6, 5, 3}; int i, soma_n, ausente, soma_elementos; int quant = 8; // tamanho do vetor + 1 // o primeiro passo é obter a soma de 1..n elementos // natuais usando a fórmula n*(n+1)/2 soma_n = (quant * (quant + 1)) / 2; // agora vamos somar os elementos do vetor soma_elementos = 0; for(i = 0; i < 7; i++){ soma_elementos = soma_elementos + valores[i]; } // agora calculamos o valor ausente ausente = soma_n - soma_elementos; // vamos mostrar o resultado cout << "O número ausente é: " << ausente << endl; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } |
C++ ::: Dicas & Truques ::: Strings e Caracteres |
Como remover parte de uma string em C++ usando a função erase()Quantidade de visualizações: 17120 vezes |
Em algumas situações nós precisamos remover parte de uma palavra, frase ou texto em C++. Para isso nós podemos usar a função erase(). Esta função é usada para remover parte de uma string, consequentemente diminuindo seu tamanho. Veja a sua assinatura: string& erase(size_t pos = 0, size_t n = npos); 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; int main(int argc, char *argv[]){ // vamos criar uma string string frase("Gosto de MySQL"); // Antes da remoção cout << "Antes da remocao: " << frase << endl; // vamos remover "My" string nova_frase = frase.erase(9, 2); // e mostramos o resultado cout << "Depois da remocao: " << nova_frase << endl; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Ao executar este código C++ nós teremos o seguinte resultado: Antes da remoção: Gosto de MySQL Depois da remoção: Gosto de SQL |
Desafios, Exercícios e Algoritmos Resolvidos de C++ |
Veja mais Dicas e truques de C++ |
Dicas e truques de outras linguagens |
C# - Como abrir outros formulários de sua aplicação C# Windows Forms a partir do formulário principal |
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 |