Pegando a parte de uma centena inteira em c++ [RESOLVIDO]

1. Pegando a parte de uma centena inteira em c++ [RESOLVIDO]

César
dark777

(usa Debian)

Enviado em 28/06/2023 - 19:14h




Estou utilizando C++ e preciso separar números em partes.

tenho o seguinte numero: 120

como eu faria para separar este numero deixando:

parte1=1
parte2=20

E no seguinte numero: 1331

parte1=13
parte2=31




wiki.anon


  


2. Re: Pegando a parte de uma centena inteira em c++ [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 28/06/2023 - 20:38h


dark777 escreveu:




Estou utilizando C++ e preciso separar números em partes.

tenho o seguinte numero: 120

como eu faria para separar este numero deixando:

parte1=1
parte2=20

E no seguinte numero: 1331

parte1=13
parte2=31
wiki.anon

---------------------------------------------------------------------------------------------------------------
"Matematicamente", é bem simples.....
  int c = 1250 / 100;
int d = 1250 % 100;



______________________________________________________________________
Att.: Marcelo Oliver
______________________________________________________________________



3. Re: Pegando a parte de uma centena inteira em c++ [RESOLVIDO]

Samuel Leonardo
SamL

(usa XUbuntu)

Enviado em 29/06/2023 - 07:49h

Eu sugiro que vc use a função log da math.h, ela vai lhe dizer quantos digitos tem o número.
Exemplo: log(1234) = 3,09131516, usando cast para int fica 3, somando +1 dá 4 digitos.
Depois de pegar a qtde de digitos, basta ir tirando digitos do numero:
int n = 1234;
for (int i = 0; i < qtdeDigitos; i++) {
int d = n % 10;//numero mais a direita
n = n / 10;//remove o numero mais a direita
printf("digito[%d] = %d\n", i, d);
}


https://nerdki.blogspot.com/ acessa ai, é grátis
Não gostou? O ícone da casinha é serventia do site!


4. Re: Pegando a parte de uma centena inteira em c++

César
dark777

(usa Debian)

Enviado em 13/07/2023 - 15:42h

msoliver escreveu:


dark777 escreveu:




Estou utilizando C++ e preciso separar números em partes.

tenho o seguinte numero: 120

como eu faria para separar este numero deixando:

parte1=1
parte2=20

E no seguinte numero: 1331

parte1=13
parte2=31
wiki.anon

---------------------------------------------------------------------------------------------------------------
"Matematicamente", é bem simples.....
  int c = 1250 / 100;
int d = 1250 % 100;


entao eu fiz aqui mas ele da dando modulo 0:
pois se eu entrar com o valor: 580
580-250 = 330


#include <iostream>
/*
Algoritmo parq encontrar a idade de uma pessoa através de um número inteiro.
*/


int main(){

int centena, dezena, numero, resultado;

std::cout << "Pense no número\n";
std::cout << "do mês de seu nascimento (Janeiro 1, Fevereiro 2, Março 3...).\n";
std::cout << "Ex:\n";
std::cout << "1) Multiplique 1 (janeiro) por 2 => 1*2 = 2\n";
std::cout << "2) Soma-se 5 => 2+5 = 7\n";
std::cout << "3) Multiplica-se por 50 => 7*50 = 350\n";
std::cout << "4) Some a sua idade atual ao resultato => 20+350 = 370\n";
std::cout << "Agora entre com o resultado: ";
std::cin >> numero;

resultado = (numero - 250);

std::cout << "Centena: " << (resultado / 100);
std::cout << "Dezena: " << (resultado % 100) << "\n";

return 0;
}

______________________________________________________________________
Att.: Marcelo Oliver
______________________________________________________________________




wiki.anon


5. Re: Pegando a parte de uma centena inteira em c++ [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 14/07/2023 - 17:44h

Testado em:
https://www.onlinegdb.com/online_c++_compiler 

#include <iostream>

using namespace std;

int main() {
int mes, idd;
int res, x, dez, cen;
cout << "Informe o Mês: ";
cin >> mes;
cout << "\nInforme sua idade: ";
cin >> idd;
res = (((mes*2+5)*50))+idd;
x = (res-250);
dez = x % 100;
cen = x / 100;
cout << "\nCentena:" << cen;
cout << "\nDezena:" << dez;
return 0;
}


______________________________________________________________________
Importante:
lynx --dump https://www.vivaolinux.com.br/termos-de-uso/ | sed -nr '/^[ ]+Se/,/dou.$/p'
______________________________________________________________________
Nota de esclarecimento:
O comando: ACIMA, faz parte da minha assinatura.
Att.: Marcelo Oliver
______________________________________________________________________



6. Re: Pegando a parte de uma centena inteira em c++ [RESOLVIDO]

Paulo
paulo1205

(usa Ubuntu)

Enviado em 16/07/2023 - 01:06h

Que é isso? Truque de festa de aniversário depois de estar um monte de gente bêbada?

Partindo de um número N,

    • multiplicando-se por 2, tem-se 2×N,
    • somando-se 5, tem-se 2×N+5,
    • multiplicando-se tudo por 50, tem-se 50×(2×N+5) = 50×2×N+50×5 = 100×N+250,
    • somando-se a idade (I) da pessoa, tem-se 100×N+250+I,
    • subtraindo-se 250, tem-se 100×N+I.

Ou seja N unidades (supostamente o número correspondente ao mês) foram transformadas em N centenas, de modo que ao separar a centena tem-se o mesmo valor inicial N, e a idade supostamente fica inalterada.

Até que uma pessoa com 100 anos ou mais jogue o jogo com o sabichão.

Ou seja, é um meio de fazer um monte (nesse caso, nem tão grande) de contas, e depois desfazê-las, para no final das contas não fazer nada de mais com os números de entrada.

Bem bobinho. E com um bug para pessoas centenárias.

Se isso foi passado por algum professor, deve ser alguém que não viveu o famoso bug do milênio.


... Então Jesus afirmou de novo: “(...) eu vim para que tenham vida, e a tenham plenamente.” (João 10:7-10)


7. Re: Pegando a parte de uma centena inteira em c++

César
dark777

(usa Debian)

Enviado em 01/08/2023 - 16:51h

paulo1205 escreveu:

Que é isso? Truque de festa de aniversário depois de estar um monte de gente bêbada?

Partindo de um número N,

    • multiplicando-se por 2, tem-se 2×N,
    • somando-se 5, tem-se 2×N+5,
    • multiplicando-se tudo por 50, tem-se 50×(2×N+5) = 50×2×N+50×5 = 100×N+250,
    • somando-se a idade (I) da pessoa, tem-se 100×N+250+I,
    • subtraindo-se 250, tem-se 100×N+I.

Ou seja N unidades (supostamente o número correspondente ao mês) foram transformadas em N centenas, de modo que ao separar a centena tem-se o mesmo valor inicial N, e a idade supostamente fica inalterada.

Até que uma pessoa com 100 anos ou mais jogue o jogo com o sabichão.

Ou seja, é um meio de fazer um monte (nesse caso, nem tão grande) de contas, e depois desfazê-las, para no final das contas não fazer nada de mais com os números de entrada.

Bem bobinho. E com um bug para pessoas centenárias.

Se isso foi passado por algum professor, deve ser alguém que não viveu o famoso bug do milênio.


... Então Jesus afirmou de novo: “(...) eu vim para que tenham vida, e a tenham plenamente.” (João 10:7-10)



Eu estive trabalhando estes dias e nao tive muito tempo para testar hoje pequei os exercícios que
estava fazendo para resolver estes erros mas não entendi uma coisa na logica do ternário abaixo.


numero1 =1
numero2 = (((numero1 * 2) + 5) * 50);
nuumero2 = 350;

do{

std::cout << "\nSeu aniversário ja passou? \n\nDigite 1-Sim ou 2-Não: ";
std::cin >> passou;

}while(passou < 1 || passou > 2);

//Ternário
(passou == 1) ? resultado = ((anoAtual - 250) + numero) : resultado = ((anoAtual - 251) + numero);


A minha duvida neste ternário é se a variável resultado pega um dos valores:
resultado = ((anoAtual - 250) + numero) :

por que ela não pega o resultado de ((anoAtual - 251) + numero) ficando 0,
onde poderia ficar mais legível como abaixo que no meu raciocínio seria o mais logico pois ambas a operacoes passaria o seu valor a variável resultado.

(passou == 1) ? resultado = ((anoAtual - 250) + numero) : ((anoAtual - 251) + numero);

e tendo que passar novamente a variavel ficando como:

(passou == 1) ? resultado = ((anoAtual - 250) + numero) : resultado = ((anoAtual - 251) + numero);





wiki.anon






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts