Você está aqui: C++ ::: Dicas & Truques ::: Strings e Caracteres |
Como retornar um iterador para o último caractere de uma string usando end()Quantidade de visualizações: 8010 vezes |
/* Como obter um iterador para o último caractere de uma string usando end(). Observe que end() é o próximo elemento após o final da string. Devemos decrementá-lo em 1 para obter o caractere final. */ #include <string> #include <iostream> using namespace std; int main(int argc, char *argv[]) { string str("Osmar J. Silva"); // obtém um ponteiro para o último caractere string::iterator it = (str.end() - 1); cout << "O último caractere é: " << *it << "\n\n"; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } |
![]() |
C++ ::: Dicas & Truques ::: Strings e Caracteres |
Como inverter uma string em C++ usando as funções begin(), end() e reverse()Quantidade de visualizações: 13276 vezes |
Em várias situações nós precisamos inverter a ordem dos caracteres de uma palavra, frase ou texto em C++. Para isso nós podemos usar uma combinação das funções begin(), end() e reverse() da biblioteca padrão do C++. Veja o código 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 C++ int main(int argc, char *argv[]){ // vamos declarar um objeto da classe string string frase = "Gosto de programar em C++"; // vamos mostrar a string original cout << "String original: " << frase << endl; // agora vamos usar a função reverse() para inverter o // conteúdo da string reverse(frase.begin(), frase.end()); // e mostramos o resultado cout << "String invertida: " << frase << endl;; cout << "\n" << endl; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Ao executarmos este código C++ nós teremos o seguinte resultado: String original: Gosto de programar em C++ String invertida: ++C me ramargorp ed otsoG |
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: 1319 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 ::: Programação Orientada a Objetos |
Programação Orientada a Objetos em C++ - Como controlar o acesso a membros de uma classe C++ usando o modificar publicQuantidade de visualizações: 8171 vezes |
Membros de uma classe são suas funções e variáveis. A visibilidade de tais membros pode ser controlada, ou seja, algumas funções e variáveis podem ser ocultadas do mundo externo. Este é o princípio de encapsulamento da programação orientada a objetos. O modificador public define que os membros de uma classe estarão acessíveis a qualquer função fora da classe. Veja um exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <iostream> using namespace std; class Cliente{ public: char *nome; }; int main(int argc, char *argv[]) { // Cria uma instância da classe Cliente Cliente *cliente = new Cliente(); // Define o nome do cliente cliente->nome = "Osmar J. Silva"; // Obtém o nome do cliente cout << "Nome do cliente: " << cliente->nome << "\n\n"; system("PAUSE"); return EXIT_SUCCESS; } Como o atributo nome foi declarado na seção public, o código da função main possui acesso a ele sem a necessidade de métodos acessórios (get) ou mutatórios (set). Quando usamos o modificador public antes do nome de uma classe base (durante a herança), estamos definindo que os membros public e protected da classe base serão public e protected na classe derivada. O acesso padrão (sem modificador) dos membros de uma classe é private. Em uniões (union) e estruturas (structure), o acesso padrão é public. O acesso padrão de uma classe base (durante a herança) é private para classes e public para estruturas. Uniões não podem possuir classes bases. |
Desafios, Exercícios e Algoritmos Resolvidos de C++ |
Veja mais Dicas e truques de C++ |
Dicas e truques de outras linguagens |
C - Exercício Resolvido de C - Como ler um número inteiro e imprimir seu sucessor e seu antecessor em C JavaScript - Como construir uma determinada data e hora usando o construtor do objeto Date do JavaScript |
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 |