1 / 7
Aug 2017

Tematów z tym zadaniem było dosyć wiele lecz zwykle było robione rzeczami które mam zamiar poznać dopiero za parę tygodni. Dlatego proszę o przejrzenie tego kodu: https://ideone.com/52U6ZS7
Jak i o wskazówki na temat samego kodu. Zadanie zrobione z pierwsza fala pomysłu . Dezorientuje fakt że w wyjściu ma być jedna linia odstępu. Ale nie wiem gdzie jest błąd.

  • created

    Aug '17
  • last reply

    Aug '17
  • 6

    replies

  • 454

    views

  • 3

    users

  • 1

    link

to może poczekaj te parę tygodni, i wróć do zadania, gdy już poznasz potrzebne tematy

a jeżeli nie chcesz czekać, to:

1) na ideone moźna także testować program
2) doprowadź do sytuacji, gdy otrzymasz poprawne wyjście dla przykładu podanego w zadaniu
3) oraz otrzymasz poprawny wynik dla danych poniżej

1
4
D 50 4
C 50 2
B 50 1
A 50 0

jeżeli wtedy dalej nie będzie ci zaliczać zadania, to pisz, życzę powodzenia :slight_smile:

No i powinieneś się bezwzględnie, niezależnie od wszystkiego, "przykleić się" do któregoś, a nie tworzyć nowy.

Twój aktualny kod, po skasowaniu dokładnie czterech znaków, uzyska AC, więc to raczej nie jest kwestia [nie]znajomości rzeczy związanych z językiem, tylko głębszego przemyślenia samego zadania.

Z jednej strony to dobrze, ale z drugiej, warto jeszcze pierwszą fale dokładniej przemyśleć. Dezorientacja? Przecież zwykłe cout << endl załatwia sprawę.

Brak przemyślenia? Brak samodzielności? Brak dobrego testowania [zupełnie nie widzę tego na ideone]

PS
Skasowanie trylko czterech znaków, to taki pewien spryt [matematyczny] i doświadczenie programistyczne. "Normalnie" twój program wymaga większej poprawki. Jeżeli nie wiesz jeszcze, że w c/c++ oprócz zmiennych typu stałoliczbowego [int, short, long] istnieją też zmienne typu rzeczywistego [double, long, float], to faktycznie wróć do zadania dopiero za parę tygodni, gdy już je poznasz.

Ehhh... Faktycznie. Nie pomyślałem o pierwiastku. Staram się zwykle używać wszystkich zmiennych. Już miałem taki błąd a teraz na pewno będę na to zwracał szczególną uwagę. Nie analizowałem dokładnie później zadania bo szczerze chciałem dodać pierwszy wpis i aby ktoś w końcu mógł ocenić kod. Dzięki za konstruktywna krytykę. Jestem teraz tylko zły że dokładnie nie sprawdziłem choć bym to znalazł.

Skasowanie tylko 4 znaków == mała poprawka
Zastosowanie double [zapomnij o float] wymaga większej zmiany - poprawki w kilku miejscach.

Co do kodu, w c++ można inaczej [lepiej?] to wszystko napisać. Można np zastosować struktury, użyć sortowania z STL. Można użyć funkcji hypot. Można nie zapamiętywać odległości, a obliczać ją tylko [dynamicznie, podniesioną do kwadratu] w celu porównania w funkcji sortującej - ale lepiej aby to nie było sortowanie bąbelkowe.
Tak: int tabx[ile]; nie powinno się deklarować tablic, chociaż często początkujący tak robią i czasami [często] uchodzi im to na sucho :wink:.

W takiej sytuacji [w komtekście tego zadania] zamiast for, ja zawsze używam: while (t--) {

cout w 51 linii jest zbędny.

No i ja użyłbym pewnie konstrukcji for (auto k: tab) //gdzie tab to odpowiedni vektor.

Ilu programistów tyle sposobów na napisanie nawet takiego małego programiku.

Chciałem użyć tego programu w sort. bąbelkowym aby się czegoś nauczyć. Struktur jeszcze nie, sortownia z STL także nie, ale co do reszty to faktycznie mogłem to zastosować. Szczególnie że najpierw użyłem tablicy dynamicznej ale później dla głupiej wygody usunąłem, dzięki za rady.