Você está aqui: C++ ::: Desafios e Lista de Exercícios Resolvidos ::: C++ Básico |
|
Como ler um número inteiro e imprimir seu sucessor e seu antecessor em C++ - Exercícios Resolvidos de C++Quantidade de visualizações: 1478 vezes |
|
Pergunta/Tarefa: Escreva um programa C++ para ler um número inteiro e imprimir seu sucessor e seu antecessor. O usuário poderá informar um valor positivo ou negativo. Sua saída deverá ser parecida com: Informe um número inteiro: 16 O número informado foi: 16 O antecessor é 15 O sucessor é: 17 Veja a resolução comentada deste exercício usando C++:
|
|
Link para compartilhar na Internet ou com seus amigos: | |
C++ ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como calcular o coeficiente angular de uma reta em C++ dados dois pontos no plano cartesianoQuantidade de visualizações: 1279 vezes |
O Coeficiente Angular de uma reta é a variação, na vertical, ou seja, no eixo y, pela variação horizontal, no eixo x. Sim, isso mesmo. O coeficiente angular de uma reta tem tudo a ver com a derivada, que nada mais é que a taxa de variação de y em relação a x. Vamos começar analisando o seguinte gráfico, no qual temos dois pontos distintos no plano cartesiano: Veja que o segmento de reta AB passa pelos pontos A (x=3, y=6) e B (x=9, y=10). Dessa forma, a fórmula para obtenção do coeficiente angular m dessa reta é: \[\ \text{m} = \frac{y_2 - y_1}{x_2 - x_1} = \frac{\Delta y}{\Delta x} = tg \theta \] Note que __$\Delta y__$ e __$\Delta x__$ são as variações dos valores no eixo das abscissas e no eixo das ordenadas. No triângulo retângulo que desenhei acima, a variação __$\Delta y__$ se refere ao comprimento do cateto oposto e a variação __$\Delta y__$ se refere ao comprimento do cateto adjascente. Veja agora o trecho de código na linguagem C++ que solicita as coordenadas x e y dos dois pontos, efetua o cálculo e mostra o coeficiente angular m da reta que passa pelos dois pontos: ---------------------------------------------------------------------- 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[]){ // coordenadas dos dois pontos float x1, y1, x2, y2; // guarda o coeficiente angular float m; // x e y do primeiro ponto cout << "Coordenada x do primeiro ponto: "; cin >> x1; cout << "Coordenada y do primeiro ponto: "; cin >> y1; // x e y do segundo ponto cout << "Coordenada x do segundo ponto: "; cin >> x2; cout << "Coordenada y do segundo ponto: "; cin >> y2; // vamos calcular o coeficiente angular m = (y2 - y1) / (x2 - x1); // mostramos o resultado cout << "O coeficiente angular é: " << m << "\n\n"; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Ao executar este código C++ nós teremos o seguinte resultado: Coordenada x do primeiro ponto: 3 Coordenada y do primeiro ponto: 6 Coordenada x do segundo ponto: 9 Coordenada y do segundo ponto: 10 O coeficiente angular é: 0.666667 Pressione qualquer tecla para continuar... Veja agora como podemos calcular o coeficiente angular da reta que passa pelos dois pontos usando o Teorema de Pitágoras. Note que agora nós estamos tirando proveito da tangente do ângulo Theta (__$\theta__$), também chamado de ângulo Alfa ou Alpha (__$\alpha__$): ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <iostream> #include <cstdlib> #include <math.h> using namespace std; int main(int argc, char *argv[]){ // coordenadas dos dois pontos float x1, y1, x2, y2; // guarda os comprimentos dos catetos oposto e adjascente float cateto_oposto, cateto_adjascente; // guarda o ângulo tetha (em radianos) e a tangente float tetha, tangente; // x e y do primeiro ponto cout << "Coordenada x do primeiro ponto: "; cin >> x1; cout << "Coordenada y do primeiro ponto: "; cin >> y1; // x e y do segundo ponto cout << "Coordenada x do segundo ponto: "; cin >> x2; cout << "Coordenada y do segundo ponto: "; cin >> y2; // vamos obter o comprimento do cateto oposto cateto_oposto = y2 - y1; // e agora o cateto adjascente cateto_adjascente = x2 - x1; // vamos obter o ângulo tetha, ou seja, a inclinação da hipetunesa // (em radianos, não se esqueça) tetha = atan2(cateto_oposto, cateto_adjascente); // e finalmente usamos a tangente desse ângulo para calcular // o coeficiente angular tangente = tan(tetha); // mostramos o resultado cout << "O coeficiente angular é: " << tangente << "\n\n"; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Ao executar este código você verá que o resultado é o mesmo. No entanto, fique atento às propriedades do coeficiente angular da reta: 1) O coeficiente angular é positivo quando a reta for crescente, ou seja, m > 0; 2) O coeficiente angular é negativo quando a reta for decrescente, ou seja, m < 0; 3) Se a reta estiver na horizontal, ou seja, paralela ao eixo x, seu coeficiente angular é zero (0). 4) Se a reta estiver na vertical, ou seja, paralela ao eixo y, o coeficiente angular não existe. |
C++ ::: Dicas & Truques ::: Strings e Caracteres |
Como acessar os caracteres de uma string C++ individualmente usando um iteradorQuantidade de visualizações: 11060 vezes |
Nesta dica mostrarei como podemos usar um iterador para percorrer todos os caracteres de uma palavra, frase ou texto em C++. Para isso nós vamos combinar um iterator e as funções begin() e end(). 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 principal do programa C++ int main(int argc, char *argv[]){ // vamos declarar um objeto da classe string string palavra("FACULDADE"); // agora criamos um iterador para a string string::iterator it; // e usamos um laço for para percorrer o iterador // do início ao fim for(it = palavra.begin(); it < palavra.end(); it++){ // e mostramos os caracteres individuais cout << *it << "\n"; } cout << "\n" << endl; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Ao executar este código C++ nós teremos o seguinte resultado: F A C U L D A D E |
C++ ::: STL (Standard Template Library) ::: unordered_map |
Como contar as frequências de palavras em uma frase ou texto em C++ usando um unordered_mapQuantidade de visualizações: 649 vezes |
Nesta dica mostrarei como podemos usar o mapa não ordenado (unordered_map) da linguagem C++ para contar as frequências das palavras individuais de uma palavra ou texto. O exemplo mostrado aqui serve como base para a criação de aplicações muito interessantes. Veja o código C++ completo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <string> #include <iostream> #include <unordered_map> #include <bits/stdc++.h> using namespace std; // protótipo da função que exibe a frequência de palavras em uma // frase ou texto void exibir_frequencias(const string &frase); int main(int argc, char *argv[]){ // vamos declarar uma frase // retirei acentos e pontuações de propósito string frase = "Gosto de Java e Python pois quero aprender Java"; // mostramos a frase cout << "A frase é: " << frase << endl; // chamamos a função que exibe as frequencias cout << "\nA frequência das palavras é:\n" << endl; exibir_frequencias(frase); cout << "\n\n"; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } // função que exibe a frequência de palavras em uma // frase ou texto void exibir_frequencias(const string &frase){ // vamos declarar um mapa que terá como chave uma string // e como valor um int unordered_map<string, int> frequencias; // agora convertemos a frase recebido como argumento // em um objeto stringstream stringstream ss(frase); // e percorremos as palavras individualmente string palavra; while (ss >> palavra){ // essa palavra já existe no mapa? if (frequencias.find(palavra) == frequencias.end()){ // adiciona esta palavra ao mapa frequencias[palavra] = 1; } else{ // já existe. Vamos incrementar esta frequência frequencias[palavra] = frequencias[palavra] + 1; } } // agora percorremos o mapa não ordenado, acessando // cada chave e mostrando a frequencia de cada palavra unordered_map<string, int>:: iterator p; for (p = frequencias.begin(); p != frequencias.end(); p++){ cout << "(" << p->first << ", " << p->second << ")\n"; } } Ao executar este código C++ nós teremos o seguinte resultado: A frase é: Gosto de Java e Python pois quero aprender Java A frequência das palavras é: (aprender, 1) (quero, 1) (pois, 1) (Gosto, 1) (Java, 2) (e, 1) (de, 1) (Python, 1) |
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 |