"PRECISIONE" IN C++

di il
6 risposte

"PRECISIONE" IN C++

Ciao a tutti
Sto imparando a programmare in C++. Sono all'inizio e ci capisco poco. Confido nel vostro aiuto.
Devo scrivere un programma per stampare su standard output "a" e "b" dove -4<a<6 (a con precisione 1/7) e b=2*a*a-a+4
Non capisco ASSOLUTAMENTE cosa si intenda per "precisione 1/7)
Potete aiutarmi?
Grazie!!!!

6 Risposte

  • Re: "PRECISIONE" IN C++

    Forse vuol dire precisione decimale impostabile da 1 a 7?
    
    #include <iostream>
    #include <iomanip>
    using namespace std;
    int main(){
        cout << setprecision(1) << 1.0/2.0 << endl;    
        cout << setprecision(7) << -1.0/3.0 << endl;
        return 0;
    }
    
    
  • Re: "PRECISIONE" IN C++

    Non lo so... io credevo di dover fare riferimento al numero dei decimali dopo la virgola e pensavo di usare cout.precision ... ma mi è stato detto che "questa parte del programma richiede una tabulazione dei dati con una separazione massima tra valori della variabile indicata di 1/7"... a questo punto mi sono perso...
  • Re: "PRECISIONE" IN C++

    Setprecision o cout.precision va bene lo stesso. In italiano non significa nulla quella frase, quindi dai l'interpretazione per te più sensata
  • Re: "PRECISIONE" IN C++

    Forse ma solo forse...

    Si intende 'tabulare' la variabile indipendente 'a' e la variabile dipendente 'b'
    Con a che va da -4 a 6 a passi di 1/7
    Ma mi sembra strano il passo

    Provato a cercare se magari è una traduzione di un testo inglese?
  • Re: "PRECISIONE" IN C++

    Anche a me 1/7 pareva strano... boh
  • Re: "PRECISIONE" IN C++

    ALE* ha scritto:


    Non lo so... io credevo di dover fare riferimento al numero dei decimali dopo la virgola e pensavo di usare cout.precision ... ma mi è stato detto che "questa parte del programma richiede una tabulazione dei dati con una separazione massima tra valori della variabile indicata di 1/7"... a questo punto mi sono perso...
    Sembra che ti venga richiesta una tabulazione, se il numero da stampare non ha decimali deve comunque occupare 7 posizioni rispettando la tabulazione da 7 posizioni, per mantenere un allineamento.
    In C:
    
    float a = 10;
    float b = 2.123456789;
    float c = 5.6;
    
        printf("%8.4f%8.4f%8.4f\n", a, b, c);
        printf("%8.4f%8.4f%8.4f\n", c, a, b);
        printf("%8.4f%8.4f%8.4f\n", b, c, a);
    
    output:
    
     10.0000  2.1235  5.6000
      5.6000 10.0000  2.1235
      2.1235  5.6000 10.0000
    
    EDIT:
    Se non puoi usare printf, in C++ con cout:
    
    #include <iostream>
    #include <iomanip>
    
    using namespace std;
    
    int main(){
    	float a = 10;
    	float b = 2.123456789;
    	float c = -5.6;
    
         	cout<<setw(8)<<setprecision(4)<<fixed<<a<<setw(8)<<setprecision(4)<<fixed<<b<<setw(8)<<setprecision(4)<<fixed<<c<<endl;
        	cout<<setw(8)<<setprecision(4)<<fixed<<c<<setw(8)<<setprecision(4)<<fixed<<a<<setw(8)<<setprecision(4)<<fixed<<b<<endl;
        	cout<<setw(8)<<setprecision(4)<<fixed<<b<<setw(8)<<setprecision(4)<<fixed<<c<<setw(8)<<setprecision(4)<<fixed<<a<<endl;
    }    
    
    output:
    
     10.0000  2.1235 -5.6000
     -5.6000 10.0000  2.1235
      2.1235 -5.6000 10.0000
    
Devi accedere o registrarti per scrivere nel forum
6 risposte