Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[c++] precyzja do 3 miejsc po przeciwnku.

Ostatnio zmodyfikowano 2016-01-09 17:53
Autor Wiadomość
Eryk17
Temat założony przez niniejszego użytkownika
[c++] precyzja do 3 miejsc po przeciwnku.
» 2016-01-07 21:05:02
hej. mam program kolo który ma wypisywać wyniki z precyzją do 3 miejsc po przecinku. Niestety u mnie po przecinku wyswietla same zera. Jest jakaś inna funkcja czy ja źle ją używam?

C/C++
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{ double r;
    cin >> r;
    double pi = 3.14;
    double pole;
    double obwod;
    pole = pi * r * r;
    obwod = 2 * pi * r;
    cout << setprecision( 3 ) << fixed << pole << endl;
    cout << setprecision( 3 ) << fixed << obwod << endl;
   
}
P-143097
carlosmay
» 2016-01-07 21:29:59
Powinno działać dobrze.
Tutaj są inne możliwości strumienia std::cout
Obsługa strumienia cout
P-143102
michal11
» 2016-01-08 02:29:20
U mnie działa dobrze, dodaj tylko
return 0;
 na końcu.
P-143108
Eryk17
Temat założony przez niniejszego użytkownika
» 2016-01-09 08:39:32
w zadaniu mam polecenie by użyć manipulatora fixed:
C/C++
cout << fixed << setprecision( 3 ) << pole << endl;
cout << fixed << setprecision( 3 ) << obwod << endl;
ale nadal wyświetla mi nie dokłade dane:
 wiersz 1: wczytano '153.860', a oczekiwano '153.938'
2 wiersz 1: wczytano '3.140', a oczekiwano '3.142'
3 wiersz 1: wczytano '379.988', a oczekiwano '380.181'
5 wiersz 2: wczytano '4.396', a oczekiwano '4.398'
6 wiersz 1: wczytano '1395555.556', a oczekiwano '1396263.402'
7 wiersz 1: wczytano '3140000.000', a oczekiwano '3141592.654'

Czy ma na to wpływ typ zmiennej? próbowałem double i float ale nadal nie wychodzi mi tak jak powinno.
P-143158
1aam2am1
» 2016-01-09 12:03:02
Twoje pi jest za krótkie. wyszukaj sobie dłuższą wersję i korzystaj z double lub long double
P-143174
carlosmay
» 2016-01-09 12:20:56
C/C++
#define _USE_MATH_DEFINES
#include <iostream>
#include <cmath>
#include <iomanip>

int main()
{
    double r;
    std::cin >> r;
    std::cout << std::fixed << std::setprecision( 3 ) <<( M_PI * pow( r, 2 ) ) << std::endl;
    std::cout << std::fixed << std::setprecision( 3 ) <<( 2 * M_PI * r ) << std::endl;
}
Jak to nie zadziała, to testerka jest do bani.
U mnie wyniki są zgodne z przykładowymi wynikami w treści zadania.

Wydaje mi się, że dane wyjściowe muszą być w dokładnie takim formacie jak w przykładach pod zadaniem.
Dodanie napisu lub wypisanie wyników w innej kolejności powoduje odrzucenie zadania.
P-143175
Eryk17
Temat założony przez niniejszego użytkownika
» 2016-01-09 17:53:21
dziekuje bardzo. Działa. Do zamknięcia.
P-143186
« 1 »
  Strona 1 z 1