Witam.
Nie wiem czemu sędzie nie zalicza mi skoro daje zawsze poprawne wyniki?
created
last reply
- 36
replies
- 3.6k
views
- 23
users
- 4
likes
- 8
links
Witam.
Nie wiem czemu sędzie nie zalicza mi skoro daje zawsze poprawne wyniki?
Pomijając fakt, że połowa kodu jest niepotrzebna, bo to jakie wartości mają zmienne to jest informacja dla Ciebie, a nie że Ty masz sprawszać testy, po pierwszym zestawie testowym, zmienna r zawsze bedzie miała wartosc 0 i juź się nie zmieni.
Przyłóź się do prawidłowego stawiania spacji. Zawsze stawiaj klamry w ifie:
if (warunek) {
}
else {}
@brahoo!!
Chodzi o czytelność i “przyjemność” czytania twojego kodu. Kompilator jest bardzo cierpliwy i wyrozumiały i nawet jeżeli cały kod umieścisz w jednej linii [jeśli potrafisz] i da się taki kod skompuilować to kompilator zrobi to bez protestu. Co innego Ty lub inny czytający twój kod. Ty sam jak i każdy czytelnik twojego kodu, stwierdzi, że jest on zyupełnie nieczytelny.
Jeżeli w programie [kodzie] stosujesz jakąś zasadę stawiania nawiasów, to stosuj tą zasadę konsekwentnie w każdym, najmniejszym fragmencie kodu. Jeżeli nawiasy są zbędne, nawet w instrukcji if // else, czy dowolnym innym miejscu, to [moim skromnym zdaniem] nie stawiaj klamr w ogóle i na siłę, dla samej zasady czy dlatego [jak to kiedyś, ktoś dowodził], że mogą się kiedyś, przy zmianach kodu, takie nadmiarowe klamry przydać [sic!].
Jezeli klamry stawia twoje IDE, to zastanów się, czy nie należy zmienić ustawień preferencji IDE, lub przejść na inne, w końcu to nie Ty jesteś niewolnikiem swojego IDE, tylko iIDE ma służyć tobie i twojej wygodzie.
Ale ja nie mówię, że kompilator nie skopiuje takiego kodu, ale raczej zawsze stawiamy klamry, bo:
if (warunek) instrukcja;
// instrukcja wykona sie gdy warunek jest true
if (warunek) instrukcja; instrukcja2;
// instrukcja wykona sie gdy warunek jest true. instrukcja2 wykona sie zawsze
W (prawie) każdej książce i przykładzie stosuje się taką konwencję - przyzwyczajony do niej czytasz je ławiej, szybciej zrozumiesz nie swój kod
Każdy profesionalny programista używa tej formy nie tylko ze względu na ustawienia IDE, ale też obowiązujące style programowania i ustawienia narzędzi do sprawdzenia jakości kodu - lepiej uczyć sie od lepszych.
Innym łatwiej będzie czytało się Twój kod, bo sami też tak piszą
Ułatwia konsekwentne stawianie wcięć w kodzie - blok {} => wcięcie
Kontagumenty typu: to 2 wciśnięcia w klawiature więcej albo: przecież to działa i bez tego to po co je stawiać, jakoś do mnie nie przemawiają.
To prawdopodobnie byłem ja.
Bo faktycznie przekracza czas: przykład95
Cześć! Zabrałem się za to zadanie jako pierwsze i dopiero zaczynam przygodę ze spojem, nie mówiąc o programowaniu Ja do tego zadania podszedłem zupełnie inaczej, niż koledzy powyżej. Pytanie czy nie jest to przekombinowane? Oprócz tego sędzia pokazuje mi błąd, którego nie mogę znaleźć, mógłby ktoś doświadczony nakierować? Generalnie za wszelkie uwagi z góry dzięki
#include
using namespace std;
int grup1(int &);
//**************************************************************************************************
int main()
{
int gr1, gr2;
cout << "Podaj liczbe dzieci w obu grupach: " << endl;
cin >> gr1 >> gr2;
for(int i = 1; ; i++)
{
int c = grup1(gr1); // Podmiana zmiennej tak, żeby przy każdym obiegu pętli przyjmowała wartość pierwotną. Tak więc zmienna c przyjmuje wartosc gr1.
c *= i;
if(c % gr2 == 0)
{
cout << "Liczba cukierkow: " << c << endl;
return 0;
}
else if(gr2 % c == 0)
{
cout << "Liczba cukierkow: " << gr2 << endl;
return 0;
}
}
}
//**************************************************************************************************
int grup1(int &grupa1)
{
grupa1 *= 1;
return grupa1;
}
na wyjściu ma być dokładnie to, co sobie autor zadania zażyczył !
czy w treści zadania napisano, że na wyjściu ma być jakikolwiek tekst poza liczbami ?
czy przeczytałeś dokładnie treść zadania ? niezależnie od twojej odpowiedzi przeczytaj dokładnie jeszcze raz (albo więcej), bo obecnie twój program robi niedokładnie to, co podano w treści
Hej, czy może ktoś podpowiedzieć na czym polega problem przekroczenia czasu?
Mam podobny kod co kolega powyżej i ten sam komunikat
A wpisywałeś liczby, które podałem?
2
11 11
10 20
Zapętla Ci się coś w nieskończoność i dlatego przekracza czas.
Co dokładnie? Nie mam pojęcia gdyż tak słabego formatowania kodu nie widziałem od czasów kiedy zaczynałem samo-naukę programowania, nie idzie ogarnąć co jest gdzie do czego. Przykład:
cout <<d << endl;
}
}
while(a!=b);
}