14 / 30
Aug 2018
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);

skoro nie umiesz czytać uważnie treści zadania, to przeczytaj ten wątek, w jednej z porad jest napisane, na które zdanie masz zwrócić szczególna uwage :slight_smile:

4 months later

nie czytasz wątku przed zadaniem pytania :slight_smile:

 Scanner s = new Scanner(System.in);
    double s2;
    double r = s.nextInt();
    double d = s.nextInt();
    double r2 = (r * r) - ((d * d) / 4);
    s2 = Math.PI * r2;
    if (s2 >= 0.01) {
        System.out.println(s2);
    }
}

}

Poprawiłam na coś takiego ale uzyskałam 1.4 pkt :roll_eyes::roll_eyes:

9 months later

Jakies sugestie ?

  1. Na wyjściu wypisz dokładnie to co jest opisane w zadaniu. Nie mniej, nie więcej. Żadnych zbędnych informacji typu “Wpisz promien kola :”.
  2. Nie sprawdzaj poprawności danych jeżeli nie jest to opisane w zadaniu. Instrukcja warunkowa if ( d< 2 * r, d>=1,d<2000 ) jest zbędna. Niestety robi również coś innego niż myślisz (patrz ostrzeżenia kompilatora). Poczytaj o tym jak działają operatory logiczne, a jak operator przecinka w C++.
  3. Nie musisz zaokrąglać wyniku. W zadaniu masz otrzymać wynik poprawny do 2 miejsc po przecinku. W C++ do zaokrąglania liczb używamy std::fixed i std::setprecision z nagłówka iomanip.