1 / 30
Feb 2016

Witam.
Męczę się z zadaniem Pole pewnego koła. Po skompilowaniu mojego kodu program poprawnie liczy pole jednak spoj wyrzuca wynik 1.6 frowning
Czy mogę tu wrzucić kod aby ktoś mógł sprawdzić gdzie popełniłem błąd? smile

  • created

    Feb '16
  • last reply

    Feb '23
  • 29

    replies

  • 3.9k

    views

  • 18

    users

  • 6

    likes

  • 6

    links

Oczywiście. Wrzuć na ideone.com i podaj linka lub wklej i wciśnij ctrl+K z zaznaczonym kodem.

#include <iostream>
#include <math.h>
#include <iomanip>


using namespace std;
float r, d, S, r2;
float PI=3.141592654;




int main()
{

    cin>>r>>d;
    r2 = sqrt((r*r)-((d*d)/4));
    S=PI*r2*r2;
    cout.setf(ios::fixed);

    cout<<fixed<<setprecision(2)<<S;



    return 0;

}
5 months later

Czy wytłumaczy mi ktoś co dzieje się w tej linijce ? Będę wdzięczny

czego nie rozumiesz ? funkcji sqrt ? zwraca pierwiastek stopnia drugiego z liczby przekazanej jako jakiś argument

24 days later
1 year later
4 months later

Co jest nie tak? Może jakieś testy?

Na wejściu podane są dwie liczby zmiennoprzecinkowe r d oddzielone spacją

1 month later

Czy ma ktoś jakiś pomysł? Spoj daje 1 punkt. Nie wiem co jeszcze poprawić

Wszystko jest dobrze. Tylko spójrz jak wczytujesz wejście a co jest podane w zadaniu.

7 months later

Nie mam bladego pojęcia, czemu nie przechodzi… Może ktoś nakieruje na błąd…

Pętla jest całkowicie zbędna. Zobacz opis wejścia:

Na wejściu podane są dwie liczby zmiennoprzecinkowe r d oddzielone spacją, oznaczające odpowiednio promień sfery i odległość między środkami sfer.

BTW Wcale nie musiałeś ustawiać precyzji do dwóch liczb po przecinku. W treści zadanie nie ma nic o zaokrąglaniu wyniku. Wystarczy, że jego dopuszczalny błąd będzie mniejszy od 0.01.

12 days later

Witam potrzebuje pomocy ogarniam to zadanie w Javie i nie wychodzi, ktoś pomoże ?

import java.util.Scanner;

public class PolePewnegoKoła {
public static void main(String[] args) {

    double r ,d , s ,r2 ;

    Scanner pole = new Scanner(System.in);


    r= pole.nextInt();
    System.out.println(" ");
    d= pole.nextInt();


    r2 =(r*r)-((d*d)/4);
    s= Math.PI*r2;

    System.out.println(s);