Informatică, întrebare adresată de maarrryyyy, 9 ani în urmă

se considera un vector cu n elemente cu n elemente numere reale. inserati in fata fiecarui element negativ un element de valoarea 0. elementele vor fi afisate cu 2 zecimale. exemplu : n=4 si vectorul :(2.32,-4.34,-9.2,1.0) se va aafisa 2.32 0.00 -4.34 0.00 -9.20 1.00


artur99: nici nu trebuie :D se face așa: Înmulțești numărul cu 100(deci se mută virgula la dreapta), apoi îl transformi în număr întreg, apoi îl împarți la 100 și o să ai numărul cu exact 2 zecimale :D
artur99: de fapt, stai... așa la 0 o să se afișeze fără zecimale
artur99: Mai bine faci cu setprecision(2); și gata :D
artur99: sau... ați făcut headerul iomanip sau nu?
maarrryyyy: nu
maarrryyyy: n.am facut inca
artur99: Faceți în C sau în C++?
maarrryyyy: c++
artur99: ok, facem prima metodă atunci :)) cu niște modificări :D
maarrryyyy: :-)))

Răspunsuri la întrebare

Răspuns de artur99
3
#include <iostream>
using namespace std;
int main(){
    int n,i,r1,r2;
    cin>>n;
    float t, v[n*2];
    for(i=0;i<n;i++){
        cin>>t;
        if(t<0){
            v[i]=0;
            i++;
            n++;
        }
        v[i]=t;
    }
    for(i=0;i<n;i++){
        r1 = v[i];
        r2 = int(v[i]*100)%100;
        if(r2<0)r2=r2*-1;
        cout<<r1<<".";
        if(r2<10)cout<<"0"<<r2;
        else cout<<r2;
        cout<<" ";
    }
}





artur99: Ce nu înțelegi, întreabă :)) L-am făcut cât de explicit :))
artur99: Chestia aia cu r2 = int(v[i]*100)%100; se poate scire și așa, r2 = (int)(v[i]*100)%100; dacă nu ați învățat cum am scris
maarrryyyy: mersi. trebuie sa ma mai uit pe problema poate o sa inteleg ceva
maarrryyyy: :-)))
artur99: cp :)))
Alte întrebări interesante