Modf () funcionando
A função modf () funciona de tal maneira que separa/quebre o argumento dado em duas partes. Um valor seria um valor inteiro, enquanto o segundo é o valor fracionário. Ao executar essa função, ela armazena a parte inteira no endereço de memória que é apontado através do ponteiro, que ocorre como um segundo argumento da função. Dessa maneira, a parte fracionária do valor é retornada.
Sintaxe de Modf ()
Duplo modf (a, & b)Parâmetros
A: É o valor em que temos que aplicar a função. É dividido em duas partes.
B: É um valor de tipo de ponteiro que aponta para a parte inteira de A, após o processo de quebra.
Valor de retorno
O valor de retorno no valor fracionário de um.
Protótipo de modf ()
Implementação da função modf ()
Exemplo 1
Na primeira etapa, como em todos os programas C ++, incluímos bibliotecas de suporte ao C ++ que são essenciais para a realização de alguns recursos e operações. Da mesma forma neste programa, dois arquivos de cabeçalho estão incluídos. Como sabemos sobre o streaming de entrada e saída, isso é feito por iostream. Em segundo lugar, qualquer operação de matemática que você deseja adicionar ao programa precisa do envolvimento da biblioteca CMATH.
#incluirEntão, no programa principal, uma variável dupla será inicializada por um valor decimal. E duas variáveis de tipo duplo IntPart, e o FractPart também são introduzidos aqui. Esses dois armazenarão os respectivos valores após a separação.
A função é aplicada, cujo valor de retorno será armazenado na variável FractPart.
Modf (x, & intPart)
Esta função levará dois parâmetros nela. Esta função quebrará o número decimal em peças integrais e fracionárias. Aqui, levaremos outro decimal, mas um número negativo. Isso usará novamente o mesmo método de modf da mesma maneira.
Ao compilar o código, precisamos de um compilador. Isso é G ++, um arquivo de entrada no qual o código está presente, um arquivo de saída no qual o resultado será exibido. Isso precisa de uma palavra-chave '-o' para salvar a saída no arquivo.
$ g ++ -o modf modf.cNa execução, você verá que um valor decimal positivo é dividido em parte integrante e na parte fracionária. Enquanto que para o segundo valor, os valores resultantes são os mesmos, mas ambos serão negativos, pois o valor de entrada é negativo.
Exemplo # 2
Neste exemplo, em vez de ter um valor duplo ou decimal, vamos aceitar um valor inteiro. No caso de valores decimais, ao ver o valor, ficou claro sobre a parte integral e a parte fracionária. Porque a parte integrante é a que está antes do decimal '.'. enquanto a parte fracionária está depois do ponto. Mas a resposta precisa é obtida usando a função modf (). Então, no caso de um número inteiro, o decimal não está presente. Como podemos aplicar a função MODF nesta situação? Vamos ver isso através de um exemplo. Tanto o IntPart quanto o FractPart são tomados como um tipo de dados duplo. A função do MODF é aplicada da mesma maneira que aplicamos no primeiro exemplo.
FractPart = modf (x, & intPart);Salve o código e depois o executaremos com o compilador.
Na execução, você verá que o número inteiro como um todo está escrito no local de uma parte integrante, e então o sinal de mais é adicionado e depois disso '0' é escrito porque o valor inteiro não teve nenhuma fração decimal e qualquer fracionário papel. É por isso que a função o calculará automaticamente como 0.
Exemplo # 3
Agora, solicitaremos ao usuário que insira qualquer número e, em seguida, usaremos a função modf () nesse valor para que a função possa separar os dois valores da variável. A partir das duas bibliotecas básicas como os exemplos anteriores tinham. Na execução, uma mensagem será vista no terminal, para que o usuário digite o número.
A função será aplicada aos valores. A parte integral e a parte fracionária serão exibidas de acordo, dependendo do valor que o usuário entrará. Agora, executaremos o código e depois inseriremos valores diferentes para ver o valor resultante coletivamente.
Primeiro, inseriremos um valor negativo, mas não será um valor decimal. Quando a função será aplicada ao valor, ela separará cada parte integral e a parte fracionária. Como não há dígito fracionário, a resposta será zero. Mas o sinal negativo será parado com a parte zero.
Mas a função separa apenas os números independentemente do sinal que aplicamos com os números inteiros. Agora, entraremos '0' como um número de entrada. Desta vez, tanto para os valores integrais quanto para fracionários, a resposta será a mesma.
Exemplo # 4
Até agora, tomamos valores inteiros e duplos como entrada para o programa, mas aqui vamos pegar uma string em vez de qualquer bóia ou tipo de dados inteiro. Independentemente do número que é um número decimal '5.06 '. Primeiro, pegue duas variáveis de tipo duplo que serão usadas na função MODF. E para o valor de entrada, pegue um valor de tipo de dados de string que seja incluído nas cochas duplas.
String k = "5.06 ";Agora, aplique a função para quebrar a string em duas partes. Feche o programa, salve -o e depois vá ao terminal para execução.
Quando você executar o programa, você verá que durante a compilação, ocorreu um erro e o programa é encerrado sem execução. Isso indica que 'nenhuma função correspondente para Call to modf ()…'. Isso significa que o erro está na chamada de função.
A partir disso, afirma -se que a função MODF () requer apenas os valores duplos, inteiros e flutuantes. Não aceita cordas dos personagens. É por isso que o erro apareceu. Embora o valor contenha números com uma fração decimal como o tipo de variável de dados como uma string, significa que o valor não era um número inteiro, mas uma string. O modf () verifica o valor e o executa separando o número de entrada.
Conclusão
'C ++ modf ()' é a descrição da função de funcionamento da Modf () no código -fonte C ++ que implementamos no editor de texto do Ubuntu e no terminal Linux. Cada exemplo é implementado seguindo uma abordagem diferente. Modf () quebra dois valores como resultado. Um é integral e o segundo é a parte fracionária. Uma função integrada leva apenas dois parâmetros e, na execução, retorna apenas uma parte fracionária.