Você está aqui: C++ ::: Desafios e Lista de Exercícios Resolvidos ::: Laços |
Como calcular e exibir os 50 primeiros números primos em C++ - Desafio de Programação Resolvido em C++Quantidade de visualizações: 9553 vezes |
Pergunta/Tarefa: Um inteiro é um número primo se ele for divisível somente por 1 e por ele mesmo. Assim, 2, 3, 5 e 7 são primos, enquanto 4, 6, 8 e 9 não são. Note que o número 1 não é primo. Escreva um programa C++ que usa um laço for, while ou do...while para calcular e exibir os 50 primeiros números primos. A saída do programa deverá ser parecida com: 50 primeiros números primos: 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 211 223 227 229 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 <cstdlib> #include <iostream> #include <iomanip> using namespace std; int main(int argc, char *argv[]){ int quantidade = 50; // quantidade de números primos int contador = 0; // quantidade de números primos encontrados int numero = 0; // inteiro inicial // Lembre-se! O número 1 não é primo cout << quantidade << " primeiros numeros primos:\n" << endl; // laço while será executado até encontrar os 50 primeiros números primos while(contador < quantidade){ bool primo = true; // se o valor de i for 7, a variável j do laço contará // de 2 até 7 / 2 (divisão inteira), ou seja, 3. Se o // módulo de 7 por qualquer um dos valores neste intervalo // for igual a 0, então o número não é primo for(int j = 2; j <= (numero / 2); j++){ if(numero % j == 0){ primo = false; // não é primo break; } } if((primo) && (numero > 1)){ cout << setw(6) << numero; contador++; // encontramos um número primo if(contador % 10 == 0){ cout << "\n"; } } numero++; } cout << "\n\n"; system("PAUSE"); return EXIT_SUCCESS; } |
Link para compartilhar na Internet ou com seus amigos: |
C++ ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercício Resolvido de C++ - Escreva um programa C++ que mostra como somar os elementos da diagonal secundária de uma matrizQuantidade de visualizações: 14904 vezes |
Exercícios Resolvidos de C++ - Escreva um programa C++ que mostra como somar os elementos da diagonal secundária de uma matriz Pergunta/Tarefa: Em álgebra linear, a diagonal secundária de uma matriz A é a coleção das entradas Aij em que [i]i[/i] + [i]j[/i] é igual a n + 1 (onde n é a ordem da matriz). A diagonal secundária de uma matriz quadrada une o seu canto inferior esquerdo ao canto superior direito (conforme mostrado na saída do problema proposto abaixo). Escreva um programa C++ que declara uma matriz 3x3 e pede ao usuário para informar seus valores. Em seguida mostre todos os valores da matriz e a soma dos elementos da diagonal secundária. Sua saída deverá ser parecida com a imagem abaixo: Resposta/Solução: Veja a resolução comentada deste exercício: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <cstdlib> #include <iostream> #include <iomanip> using namespace std; int main(int argc, char *argv[]) { int matriz[3][3]; // uma matriz de três linhas e três colunas int soma_diagonal = 0; // guarda a soma dos elementos na diagonal secundária // vamos ler os valores para os elementos da matriz for(int i = 0; i < 3; i++){ // linhas for(int j = 0; j < 3; j++){ // colunas cout << "Valor para a linha " << i << " e coluna " << j << ": "; cin >> matriz[i][j]; } } // vamos mostrar a matriz da forma que ela foi informada cout << "\n\nValores na matriz\n" << endl; for(int i = 0; i < 3; i++){ for(int j = 0; j < 3; j++){ cout << setw(5) << matriz[i][j]; } cout << "\n" << endl; } // vamos calcular a soma dos elementos da diagonal secundária int ordem = 3; // ordem da matriz for(int i = 1; i <= 3; i++){ for(int j = 1; j <= 3; j++){ if((i + j) == (ordem + 1)){ soma_diagonal = soma_diagonal + matriz[i - 1][j - 1]; } } } cout << "A soma dos elementos da diagonal secundaria e: " << soma_diagonal << endl; cout << "\n" << endl; system("PAUSE"); return EXIT_SUCCESS; } |
C++ ::: Dicas & Truques ::: Programação Orientada a Objetos |
Programação Orientada a Objetos em C++ - Como usar construtores em suas classes C++Quantidade de visualizações: 15741 vezes |
Quando um objeto de uma classe C++ é criado, a linguagem chama um construtor para tal classe. Se nenhum construtor estiver definido, um construtor padrão é invocado. Este construtor aloca memória para o objeto, mas não o inicializa. Um construtor é um método que definimos em nossas classes C++ e que possui o mesmo nome da classe. Um construtor não possui tipo de retorno e não retorna nenhum valor. Em geral construtores são públicos, mas, é possível termos construtores privados. Neste caso, somente um método estático da classe poderia criar novos objetos da classe (quando puder dê uma olhada no padrão de projeto Singleton). O uso mais frequente dos métodos construtores é quando queremos inicializar valores das variáveis e demais recursos no momento da criação de uma nova instância da classe. Esta é uma técnica útil, visto que não precisamos dispor de esforço extra para inicializar as variáveis de instância de um objeto, individualmente, após sua criação. Vamos ver um exemplo da definição e uso de construtores em uma classe C++? Comece analisando o código para o arquivo de definição da classe Pessoa: Código para Pessoa.h: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // vamos evitar múltiplas inclusões do // arquivo de cabeçalho (header file) #ifndef PESSOA_H #define PESSOA_H // vamos incluir o header string #include <string> using namespace std; class Pessoa{ public: // construtor da classe Pessoa Pessoa(string, string, int); // método que permite retornar o nome da pessoa string getNome(); // método que permite retornar o e-mail da pessoa string getEmail(); // método que permite retornar a idade da pessoa int getIdade(); private: // variáveis privadas string nome; string email; int idade; }; #endif Veja a assinatura do método construtor: Pessoa(string, string, int); Note que na lista de parâmetros do construtor não precisamos informar os nomes dos parâmetros, apenas seus tipos. Veja agora o arquivo de implementação para esta classe: Código para Pessoa.cpp: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // arquivo de implementação para a // classe Pessoa // vamos incluir o header Pessoa.h #include "Pessoa.h" // implementação do construtor Pessoa::Pessoa(string nome, string email, int idade){ this->nome = nome; this->email = email; this->idade = idade; } // método que permite obter o nome da pessoa string Pessoa::getNome(){ return this->nome; } // método que permite obter o email da pessoa string Pessoa::getEmail(){ return this->email; } // método que permite obter a idade da pessoa int Pessoa::getIdade(){ return this->idade; } Note que na implementação do método construtor nós recebemos os argumentos para os parâmetros e os usamos para inicializar as variáveis privadas da instância da classe. Observe o uso do ponteiro this para nos referirmos à instância atual da classe Pessoa. Finalmente, veja o código para o método main() do programa. É aqui que criamos um novo objeto da classe Pessoa e usamos seu método construtor para inicializar suas variáveis privadas de uma só vez: Código para main.cpp: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <cstdlib> #include <iostream> // vamos incluir a classe Pessoa #include "Pessoa.h" using namespace std; int main(int argc, char *argv[]) { // vamos criar um novo objeto da classe Pessoa Pessoa *p = new Pessoa("Osmar J. Silva", "osmar@arquivodecodigos.net", 38); // vamos exibir os dados da pessoa cout << "Nome: " << p->getNome() << endl; cout << "E-Mail: " << p->getEmail() << endl; cout << "Idade: " << p->getIdade() << endl; system("PAUSE"); return EXIT_SUCCESS; } Além do construtor, uma classe C++ possui também um método destrutor. Veja minhas dicas relacionadas a este assunto para aprender como definir e usar destrutores em suas classes C++. |
C++ ::: Dicas & Truques ::: Input e Output (Entrada e Saída) |
Como exibir a saída em um programa C++ usando o objeto coutQuantidade de visualizações: 644 vezes |
O objeto cout, presente no arquivo de cabeçalho iostream, é usado quando precisamos exibir a saída em nossos programas C++. Por ser um objeto da classe ostream, o objeto cout nos oferece muitos métodos, funções e propriedades que permitem um melhor controle sobre a formatação de saída. Como o objeto cout é associada com o fluxo padrão de saída em um programação C++, as informações a serem exibidas na tela são fornecidas a ele por meio do operador de inserção (<<). Veja um trecho de código no qual usamos o objeto cout para exibir o valor da constante matemática PI: ---------------------------------------------------------------------- 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[]){ // vamos obter o valor da constante PI double pi = M_PI; // vamos usar o objeto cout para exibir o resultado cout << "O valor de PI é: " << pi << endl; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Ao executarmos este código C++ nós teremos o seguinte resultado: O valor de PI é: 3.14159 Vamos ver mais um exemplo? Eis um código C++ que usa o objeto cin para ler dois valor informados pelo usuário e depois usa o objeto cout para exibir a soma dos dois valores: ---------------------------------------------------------------------- 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[]){ int a, b, soma; // vamos ler dois valores cout << "Informe o primeiro valor: "; cin >> a; cout << "Informe o segundo valor: "; cin >> b; // vamos somar os dois valores soma = a + b; // e agora mostramos o resultado cout << "A soma dos valores é: " << soma << endl; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Ao executar este código C++ nós teremos o seguinte resultado: Informe o primeiro valor: 8 Informe o segundo valor: 5 A soma dos valores é: 13 |
Vamos testar seus conhecimentos em JavaScript |
Qual é o local correto para a inserção de códigos JavaScript em um documento HTML? A) Seção <head> B) Seção <body> C) Os códigos JavaScript podem ser colocados tanto na seção <head> quanto na seção <body> Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Estruturas de Aço e Madeira |
Estrutura e propriedade dos materiais O estudo das propriedades elétricas aborda os conceitos de resistividade e condutividade elétrica, pois são as mais relevantes quanto aos materiais de construção. Assinale a alternativa que define essas propriedades corretamente. A) Condutividade elétrica é a resistência à passagem da corrente elétrica através de um material, e a resistividade é a facilidade com que um material é capaz de transmitir uma corrente elétrica. B) Condutividade elétrica é a facilidade com que um material é capaz de transmitir uma corrente elétrica, e a resistividade é a resistência à passagem da corrente elétrica através de um material. C) Condutividade elétrica é a capacidade que um material apresenta de absorver energia, e a resistividade é a facilidade com que um material é capaz de transmitir uma corrente elétrica. D) Condutividade elétrica é a facilidade com que um material é capaz de transmitir uma corrente elétrica, e a resistividade é a capacidade que um material apresenta em absorver a energia. E) Condutividade elétrica é a resistência à passagem da corrente elétrica através de um material, e a resistividade é a capacidade que um material apresenta em absorver a energia. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Python |
Qual dessas coleções Python é ordenada, mutável (permite mudanças) e permite duplicação de itens? A) Dictionary B) Tuple C) List D) Set E) Nenhuma das opções anteriores Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais |
Perda de Carga Localizada, Acessórios de Tubulação Considerando a questão: "Qual a perda de carga singular em um conduto de 100 m, diâmetro de 100 mm, com um fluido escoando a 2 m/s, apresentando as seguintes singularidades rosqueadas na tubulação: válvula globo totalmente aberta e cotovelo de 45º com raio normal?". Qual o erro relativo da perda de carga linear em comparação com a perda de carga total? A) 0,08%. B) 4,30%. C) 8,28%. D) 9,00%. E) 0,09%. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Hidrologia |
São exemplos de objetos do espaço físico que compreendem o estudo da hidrografia, com exceção de A) nascentes. B) lagos. C) rios. D) matas. E) aquíferos. Verificar Resposta Estudar Cards Todas as Questões |
Desafios, Exercícios e Algoritmos Resolvidos de C++ |
Veja mais Dicas e truques de C++ |
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 |