• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Pole pewnego koła

42 Warsaw Coding Academy
0 głosów
1,991 wizyt
pytanie zadane 25 lutego 2019 w SPOJ przez matzar24 Początkujący (250 p.)

Witam, program mimo pomyślnych testów na SPOJ-u nie działa. Próbowałem chyba już wszystkiego, pomoże ktoś?

Co jest nie tak? Nie jestem pewien, ale być może mam coś z netem, aczkolwiek nie jest to pewne, zadanie zostaje niezaliczone z powodu błędnych odpowiedzi. Niestety muszę wkleić cały kod. Zmienna t - liczba testów. Reszta jest w treści zadania: https://pl.spoj.com/problems/ETI06F1/

#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;

int main(){
    int t;
    double r,d,S;

    cin>>t;
    for(int i=0;i<t;i++){
        cin>>r>>d;
        S=(pow(r,2)-pow(d,2)/4)*M_PI;
        cout<<fixed<<setprecision(2)<<S<<endl;
    }

    return 0;
}

1 odpowiedź

0 głosów
odpowiedź 25 lutego 2019 przez gagyn Stary wyjadacz (11,050 p.)
Spróbuj usunąć endl.

W treść zadania nie wnikałem, tylko wiem, że niektóre strony nie zezwalają na dodanie nowej linii jeżeli nie jest to podane w treści zadania.
komentarz 26 lutego 2019 przez matzar24 Początkujący (250 p.)
edycja 26 lutego 2019 przez matzar24

Ostatecznie kod skróciłem do takiej formy, a bibliotekę cmath wyrzuciłem, return też (sędzia go omija czy co) oraz namespace zastąpiłem trzema "std::"  :

(zawszę trochę krótszy kod, lepiej 15 znaków niż 20)

#include <iostream>
#include <iomanip>

int main(){
  double r,d;
   std::cin>>r>>d;
   std::cout<<std::setprecision(9)<<(r*r-d*d/4)*3.141592654;
}

 

komentarz 31 stycznia 2023 przez skyynet Początkujący (410 p.)
Mógłby mi ktoś pomóc w Pythonie? Dostaję po 1.4 punkta i nie wiem w czym jest problem :(

import math

Numbers=input()

Numbers=Numbers.split(' ')

r=int(Numbers[0])

d=int(Numbers[1])

S=round(math.pi*(r**2-(d/2)**2),2) #zaokrąglam do 2 miejsc po przecinku

print(S) #Podaje liczbę zmiennoprzecinkową S oznaczającą pole koła
komentarz 1 lutego 2023 przez Oscar Nałogowiec (29,360 p.)
Na wejściu mają być liczby zmiennoprzecinkowe, dlaczego konwertujesz do int?
komentarz 1 lutego 2023 przez skyynet Początkujący (410 p.)
Właśnie jak napisałem ten komentarz to to zauważyłem xd ale dzięki wielkie
komentarz 1 lutego 2023 przez Oscar Nałogowiec (29,360 p.)

@matzar24, To nie sędzia. W C++ w main (tylko) domyślny jest return 0.

Podobne pytania

0 głosów
3 odpowiedzi 1,106 wizyt
0 głosów
1 odpowiedź 471 wizyt
pytanie zadane 13 marca 2020 w Python przez Karpik Użytkownik (680 p.)
0 głosów
1 odpowiedź 627 wizyt
pytanie zadane 23 lutego 2020 w C i C++ przez kaminie318 Bywalec (2,070 p.)

93,382 zapytań

142,381 odpowiedzi

322,538 komentarzy

62,738 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...