Skocz do zawartości

jakubkwa

Użytkownik
  • Liczba zawartości

    101
  • Rejestracja

  • Ostatnia wizyta

Zawartość dodana przez jakubkwa

  1. jakubkwa

    Programowanie

    No tak, to jest funkcja rekurencyjna, tylko jeśli chciałbyś jej użyć w tym programie i w każdej iteracji wywoływać silnia(i), to stanowczo Ci to odradzam, bo w tym wypadku za każdym razem wartość funkcji liczona jest od nowa. Lepiej wykorzystać fakt, że tu jest już jakaś iteracja i przy okazji sobie obliczać silnię. Ja ten program - bazując na Twoim rozwiązaniu - napisałbym tak: #include <iostream> #include <cmath> using namespace std; int main() { double x, eps, sil, pot, sum; cout << "Podaj x:" << endl; cin >> x; cout << "Podaj epsilon:" << endl; cin >> eps; if (eps > 1) cout << 1; // przypadek brzegowy -> dla i=0 wartość x^i/i! = 1 dla dowolnego x, a więc jeśli eps > 1 to eps > x^i/i!, więc warunek zakończenia pętli jest spełniony i nie ma po co w nią wchodzić else { sum = sil = 1.0; // wartości początkowe są takie, jakie byłyby w przypadku policzenia x^i/i! dla i=0 pot = x; // j.w. for (int i=1; pot/sil >= eps; i++) // wartości dla i=0 mamy ustawione jako początkowe, więc pętlę zaczynamy od i=1 { pot = pot*x; // nie wiem jak dokładnie działa pow(), ale podejrzewam że liczy wszystko od nowa podobnie jak rekurencyjna silnia, a więc tu - podobnie - liczymy sobie kolejne potęgi po drodze, mniejsza złożoność obliczeniowa gwarantowana sil = sil*i; sum += (pot/sil); // dodajemy do sumy kolejne jej składniki } cout << sum << endl; } return 0; }
  2. jakubkwa

    Programowanie

    Powinien być, ale AFAIR to kompilatory se radzą bez niego A co do kodu - silnię się jednak z tego co pamiętam liczy trochę inaczej - w kolejnych iteracjach robimy s=s*i (oczywiście trzeba uważać z wartością początkową i=0, albo trza walnąć ifa, albo jakoś sprytniej to zapisać), bo z s=s*(s+1) to nie wiem co wyjdzie Druga rzecz - chwilowo w ogóle nie liczysz sumy, tylko jej kolejne składniki, a chyba nie o to chodzi.
  3. LISTA ZMIAN: Polska: zmiany w sztabach szkoleniowych wszystkich klubów z Ekstraklasy i 1. ligi polskiej, aktualne na dzień 10.02.2009; wszelkie zmiany transferowe wśród piłkarzy Ekstraklasy i 1. ligi polskiej, aktualne na dzień 10.02.2009; zmiany atrybutów wielu zawodników Ekstraklasy i 1. ligi polskiej; zmiany w kontraktach wielu zawodników; dodanie kilku nowych postaci, np. Radosław Matusiak; dodanie polskich znaków diakrytycznych w nazwiskach zawodników; Świat: wszelkie zmiany w sztabach szkoleniowych wszystkich klubów aktualne na dzień 10.02.2009; wszelkie zmiany transferowe wśród piłkarzy aktualne na dzień 10.02.2009 z większości lig europejskich; dodanie wielu nowych postaci, np. Evans Chikwaikwai; zmniejszenie/zwiększenie atrybutów niektórych zawodników; aktualizacja trenerów reprezentacji; Dodatek wykonany został przez zespół Revolution Update Team, w którego skład wchodzą współpracownicy CM Revolution - GeedieZ, Qqlkan, Fudi i Messinho - oraz kilku redaktorów naszego serwisu. Podziękowania dla Vetra za wyrażenie zgody na użycie pliku Vetr CFM Fake Patch v.2.1. FM 2009 Revolution Update v1.0
  4. Po wielu miesiącach pracy i przygotowań możemy w końcu zaprosić również na angielską wersję naszej strony, która dzisiaj oficjalnie startuje. Znaleźć ją można pod adresem http://www.football-manager.info/, zapraszamy! A jeśli ktoś z Was czuje się na siłach pomóc nam w dalszym rozwoju angielskiej wersji językowej serwisu, prosimy zgłaszać się do Reapera (reaper@cmrev.com) - drzwi Rewolucyjnego Ministerstwa Spraw Zagranicznych są wciąż otwarte
  5. Rzeczywiście, można to i tak odczytać, i mam nadzieję, że o to właśnie Profesorowi chodziło Niemniej traktując autora jako przedstawiciela grupy udzielających się w Maryni udało mi się zinterpretować to inaczej, widać nietrafnie Profesor - przepraszam za przeinaczenie intencyj.
  6. Po pierwsze - to jest już sprawa naszych użytkowników i ich wola, gdzie chcą na dany temat dyskutować. Jeśli ktoś woli rozmawiać o tym na forum niż w komentarzach pod swoim manifestem - proszę bardzo, nie bronimy tego, ale nie będziemy też do tego zmuszać. Po drugie - prosiłbym jednak nie obrażać naszych czytelników i nie wiązać faktu odwiedzania naszej strony z występowaniem u takich osobników urazów psychicznych (alternatywnie - o przedstawienie badań lub konkretnych dowodów na istnienie takiego powiązania).
  7. Może "okno" albo, zostając w temacie dekoracji wnętrz, "ramka"? EDIT: Ech
  8. jakubkwa

    Euro 2008

    http://www.zczuba.pl/zczuba/1,90957,530437...uja_karne_.html
  9. jakubkwa

    Programowanie

    A no fakt, kropki na przecinki zmienią się tylko w Stringu linia_tekstu, z którym nic potem nie robimy. Trzeba by to zapisywać do jakiegoś nowo utworzonego pliku, a po skończonej całej operacji zamknąć oba obiekty plikowe i zmienić nazwę naszego nowego pliku na nazwaPliku która jest argumentem funkcji (być może uprzednio usuwając stary plik pod tą nazwą). Pewnie można to zrobić prościej, ale nic mi nie przychodzi do głowy
  10. jakubkwa

    Programowanie

    Jak dodasz pierwszy element, to jego indeks wynosi 0. Chcąc dodać kolejny wywołujesz funkcję w funkcji add lista.get(i) dla i=1, próbujesz pobrać nieistniejący element, stąd wyjątek. Ja bym to napisał tak: public void add(double value) { int i = 0; while (i < lista.size() && value >= lista.get(i)) i++; list.add(i, value); } I jest to jedna funkcja do dodawania każdego elementu, nie ma potrzeby dodawania funkcji addFirst, która jest IMO dosyć dziwnym rozwiązaniem. Lepszy też w tym wypadku jest zwracany typ void, bo skoro zawsze masz zwracać true, to po co boolean, skoro nie niesie to za sobą żadnej informacji? PS Nie testowałem tego kodu, co go napisałem, więc błędy są wielce prawdopodobne Tutaj jedyne co mi przychodzi na myśl to to, że błąd bierze się z tego, że wywołujesz readLine() po raz drugi już w ciele pętli. To jest chyba w ogóle niepotrzebne - w końcu tu: while ((linia_tekstu = odczyt.readLine()) != null) przypisujesz zmiennej linia_tekstu odpowiednią wartość, jeśli wywołujesz potem znowu readLine() w ciele pętli, to tak naprawdę zmienisz co drugą linię tekstu. A na koniec, kiedy readLine() zwróci nulla w ciele pętli, a nie w jej nagłówku, to nie ma żadnej kontroli i próbujesz wywołać metodę replace na nullu, skąd NullPointerException. Tak mi się przynajmniej wydaje
  11. jakubkwa

    Programowanie

    Nie znam klasy StreamTokenizer, ale wygląda na to, że to w jej użyciu tkwi błąd. Mianowicie pobierasz w pętli token, a następnie przypisujesz jego wartość liczbową zarówno zmiennej a, jak i b. Współrzędna y nie jest więc wcale zmieniana, tylko ustawiana na taką samą jak x już na początku. Musisz wywołać metodę nextToken() jeszcze raz przed drugim pobraniem wartości atrybutu nval.
  12. jakubkwa

    Podaj dalej #4

    Pierwszemu oddaję.
  13. jakubkwa

    Podaj dalej #4

    Gala Telekamer, Piotr Cyrwus.
  14. jakubkwa

    Piwo to nasze paliwo

    Jestem pewien, że swego czasu Svijanska Desitka była dostępne we Wrocku na ulicy Szczęśliwej w bardzo dobrze wyposażonym sklepie o wdzięcznej nazwie Browarek. Jak sytuacja wygląda teraz - nie wiem, dawno tam nie byłem. Co do sklepów w centrach handlowych, to również w Arkadach Wrocławskich i tamtejszym Alma Markecie sytuacja z piwami wygląda ciekawie, głównie jednak z importowanymi. Widziałem tam ostatnio m.in. poszukiwaną przeze mnie od dłuższego czasu Schlenkerlę Maerzen - piwo wędzone. Bardzo interesujące, nieporównywane doznania smakowe Swoją drogą będąc ostatnio w Spiżu muszę z przykrością stwierdzić, że tamtejsze pszeniczne strasznie obniżyło loty Długo tam nie byłem i chyba po ostatniej wizycie prędko znów nie zagoszczę. Jakieś to takie kwaśne, zero posmaków charakterystycznych dla pszenicy. Ble.
  15. jakubkwa

    Cyberdunk

    Z moich wielce zaawansowanych obliczeń wynika, że lada dzień będę mógł podpisać kontrakt z CMF Basket Team, więc jeśli znajdzie się jeszcze dla mnie miejsce, to czekam na ofertę
  16. jakubkwa

    Programowanie

    Przede wszystkim - masz rację co do użycia metody equals. Jeśli chcesz porównywać napisy, a nie referencje do nich, musisz używać equals Użycie tej metody nie jest trudne, zamiast np. nazw != osoba[i].nazwisko piszesz po prostu !nazw.equals(osoba[i].nazwisko) [CIACH - tu były bzdety, sorka ] Poza tym - druga pętla while i literówka: (osoba[j] instanceof Pracownik && nazw2 != osoba[i].nazwisko) j++; Trzecia pętla, tym razem for, to również literówki: for(int k=0; i<liczba; i++) if (osoba[k] instanceof Pracownik) if (((Pracownik)osoba[k]).pensja < pensja1) ((Pracownik)osoba[k]).pensja *= 1.1; To tak na pierwszy rzut oka
  17. jakubkwa

    Programowanie

    Jedyne co mi przychodzi na myśl to rzutowanie: ((Pracownik) osoba).urlopDoWykorzystania = urlop;
  18. jakubkwa

    Piwo to nasze paliwo

    Gwoli ścisłości - Heban jest już tylko podtrzymywaną przez Juranda marką, bo sam browar z tego co wiem padł jakiś czas temu. Piwo produkowane jest jeśli się nie mylę w Czechach (Budziejowice). No chyba że trafiłeś na rzeczywiście jakąś ostatnią partię olsztyńską, ale nie wydaje mi się (generalnie jeśli butelka ma złotko na szyjce, to znaczy że to czeski Heban, jeśli zaś krawatkę, to wprost z Olsztyna).
  19. Mila morska to akurat nie mniej więcej tyle ile normalna mila angielska Mila morska ma 1.852 kilometra, a więc 1 węzeł = 1.852 km/h, czyli jednak tyle, ile w przybliżeniu pisał Reaper.
  20. jakubkwa

    Programowanie

    Wydaje mi się, że działa Ci to źle dlatego, że robisz to dla całej macierzy, czyli zamieniasz ze sobą dane pola dwukrotnie, co w efekcie sprawia, że wracają do swoich pierwotnych stanów Wystarczy to wykonać dla połowy elementów znad lub spod głównej przekątnej, np. void transponowanieMacierzy() { int p=0; for (int i=0; i<rozmiar; i++) for (int j=0; j<i; j++) // tu jedyna modyfikacja - j<i zamiast j<rozmiar { p = tablica[i][j]; tablica[i][j] = tablica[j][i]; tablica[j][i] = p; } }
  21. No argumentacja powalająca, nie ma co Gdyby nasi byli tacy mocni, to nie Pawełek, tylko Kuszczak by bronił w Wiśle, a nie grzał ławkę, to samo z Fabiańskim (oczywiście, tak jak Ty, przemilczę w jakich klubach i z jakimi rywalami te ławki grzeją, faktem jest, że Wisła woli Pawełka od nich!). Na podstawie tego argumentu KAŻDY grający w pierwszym składzie bramkarz jest lepszy od KAŻDEGO siedzącego na ławce. To jest dopiero bzdura. BTW ja nie twierdzę, że duet Kuszczak-Fabiański jest lepszy od duetu Robinson-Green ani też że jest na odwrót - według mnie kunszt bramkarski to nie są wartości tak łatwo porównywalne, jak niektórzy tutaj starają się to przedstawić.
  22. Tak. Wykupując ochronę na 36h i idąc na urlop na 36h po powrocie zeń nie będziesz miał ochrony.
  23. jakubkwa

    Cyberdunk

    No niestety, dalej nic Wita mnie jakże urocze Sorry, no pending contracts available. Najwyraźniej ktoś z wyższej góry niż Jabol nie widzi mnie w CMF Basket Team
  24. jakubkwa

    Cyberdunk

    Ja żadnego nowego kontraktu nie dostałem
×
×
  • Dodaj nową pozycję...