Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Cum sterg mails din Promotions

Vanzare cumparare fara transfer b...

Receptie ciudata, in functie de t...

Dupa 20 ani de facultate, am uita...
 Mobile.de ofera imprumut de bani ...

problema test grila

Digi24 a disparut de pe TV Lg

Drept de proprietate intelectuala...
 Jante noi shitbox

Trinitas TV 4K

Dacia 1316 cu 6 usi ...

Frecventa modificata radio
 Un nou pericol pt batrani

Ar trebui sa vindem imobiliarele ...

Dupa renuntarea la aparat dentar

pelerinaj in Balcik
 

[Tema] c++ numar cu 8 zecimale

- - - - -
  • Please log in to reply
4 replies to this topic

#1
OkiDoki0016

OkiDoki0016

    Junior Member

  • Grup: Members
  • Posts: 35
  • Înscris: 15.02.2014
Se citeste un numar cu 8 zecimale (partea intreaga a acestuia este 0) sa se afiseze numarul rezultat prin eliminarea primelor doua si ultimele doua zecimale .
Exemplu: 0.12345678->0.3456

Ceea ce am vrut eu sa fac a fost sa inmultesc numaru cu 10 la puterea a 8 a(10^8) si apoi sa elimin cele 4 cifre.,dar am vazut ca nu merge si m-am oprit la numaru format dupa eliminarea cifrelor.De fapt ceea ce nu stiu e sa lucrez cu numarul ce are partea intreaga 0 (0.12345678)


#include<iostream>
#inlcude<math.h>
using namespace std;
int main()
{
    int n,i=1,nou=0;
    cin >> n;
n=pow(10,8)*n;
    n = n/100;
    while (n>=100)
    {
  nou = n%10 * i + nou;
  i = i*10;
  n = n/10;
    }
    cout << nou;
}

Stiu ca nu e terminat dar am hotarat sa il public asa caci orcum imi da rezultatul prost si nu mai e nevoie sa il continui,mai aveam de scris numaru dupa 0.
Multumesc.

#2
Gady_paul

Gady_paul

    Senior Member

  • Grup: Senior Members
  • Posts: 2,421
  • Înscris: 12.01.2008
Fa-l pe n de tip double.

#3
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,444
  • Înscris: 10.08.2005

 OkiDoki0016, on 17 aprilie 2014 - 22:37, said:

Ceea ce am vrut eu sa fac a fost sa inmultesc numaru cu 10 la puterea a 8 a(10^8) si apoi sa elimin cele 4 cifre.,dar am vazut ca nu merge si m-am oprit la numaru format dupa eliminarea cifrelor.De fapt ceea ce nu stiu e sa lucrez cu numarul ce are partea intreaga 0 (0.12345678)
aproape perfect, mai gandeste-te la 10^x

http://www.cplusplus...p/setprecision/
http://www.cplusplus...ence/cmath/modf

cred ca sunt 4 linii de cod

Edited by MarianG, 17 April 2014 - 23:26.


#4
sftpdt

sftpdt

    Senior Member

  • Grup: Senior Members
  • Posts: 3,665
  • Înscris: 29.08.2013

 OkiDoki0016, on 17 aprilie 2014 - 22:37, said:

nou = n%10 * i + nou;

Vezi ca n e de tip float, asa ca operatia % nu merge asupra lui.

float n;
int x;
cin>>n;
x = n*100000000; // memorezi in x numarul inmultit cu 10^8
x = x % 1000000 / 100; // tai primele 2 si ultimele 2 cifre
cout << (float) x/10000; // afisezi numarul impartit la 10^4 (se pune (float) in fata deoarece x e de tip int si altfel afisa 0)


Edited by sftpdt, 18 April 2014 - 07:39.


#5
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,444
  • Înscris: 10.08.2005
double numar=0.12345678;
	modf(numar*1000000,&numar);
	numar=modf(numar/10000,&numar);
	printf("%.4f",numar);
	return 0;


Anunturi

Chirurgia cranio-cerebrală minim invazivă Chirurgia cranio-cerebrală minim invazivă

Tehnicile minim invazive impun utilizarea unei tehnologii ultramoderne.

Endoscoapele operatorii de diverse tipuri, microscopul operator dedicat, neuronavigația, neuroelectrofiziologia, tehnicile avansate de anestezie, chirurgia cu pacientul treaz reprezintă armamentarium fără de care neurochirurgia prin "gaura cheii" nu ar fi posibilă. Folosind tehnicile de mai sus, tratăm un spectru larg de patologii cranio-cerebrale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate