programowanie c++, Inormatyka
online:1
informatyka

Uwagi, wskazówki

  1. Pamiętaj, aby w funkcji main umieścić instrukcję return 0;
  2. Staraj się po każdym poleceniu wstawiać znak nowej linii i stosować wcięcia. Dzięki temu łatwiej będzie Ci zlokalizować błąd.
  3. Nie wstawiaj średnika na końcu każdego wiersza. Jeśli wstawisz średnik na końcu instrukcji for(int i=0; i<3; i++); { cout << i }, zasięg pętli for nie obejmie bloku instrukcji.
  4. Nie sprawdzamy danych wejściowych określonych w specyfikacji. Jeśli w zadaniu napisane jest, że n<100, to tak musi być.
  5. Nie używamy plików nagłówkowych zakończonych .h, (używane tylko w ANSI C++, w klasycznym C++ są przestarzałe)
  6. Jeśli Twój program będzie sprawdzany przez automat (sprawdzarkę), nie wypisuj żadnych komunikatów w stylu "Podaj liczbę ..." lub "Pole wynosi ..." - automat sprawdza tylko dane określone w specyfikacji.
  7. Staraj się nie używać biblioteki conio ponieważ nie ma jej pod Linuxem
  8. Staraj się unikać operacji zmiennoprzecinkowych, zamiast nich stosuj operacje całkowitoliczbowe np. zamiast n<= sqrt(a), lepiej napisać n*n<=a.
  9. Jeśli deklarujesz tablicę int tab[n], to wtedy n musi być wartością stałą. Nie dopuszczalna jest konstrukcja w rodzaju: int n; cin >> n; int tab[n]. To nic, że kompilator to zaakceptuje, jest to niezgodne ze standardem języka C++ i może działać niewłaściwie dla dużych n.
  10. Jeżeli potrzebujesz tablicy na miarę użyj konstrukcji int n; cin >> n; int *tab = new int [n]; lub skorzystaj z biblioteki STL.
  11. Jeśli definiujesz zmienną lokalną, pamiętaj o inicjalizacji.
  12. Jeśli używamy biblioteki iostream wpisujemy dyrektywę #include <iostream> i wtedy zawsze używamy instrukcji using namespace std;.
  13. Typ long oraz long int to dokładnie to samo co int. (4 bajtowa liczba całkowita).
  14. W języku C++ nie ma operatora potęgowania ^ (to nie Arkusz kalkulacyjny). Tutaj ^ oznacza operację bitową XOR. Wyjątek stanowi potęga liczby 2, którą można uzyskać przez przesunięcie bitowe np. (1 << 4) (liczba 1 przesunięta w lewo o 4 miejsca 10000, czyli 16).
  15. Staraj się używać funkcji printf oraz scanf (cstdio) zamiast obiektów cout oraz cin (iostream). Działają szybciej. Dobrą radą dla tych którzy używają tylko strumieni cin oraz cout jest wyłączenie synchronizacji za pomocą instrukcji ios_base::sync_with_stdio(0); (wywołujemy wewnątrz funkcji main).
źródło

Najczęstrze błędy uczestników

  1. Brak średnika na końcu wiersza
  2. Wysyłanie do sprawdzarki pliku .cbp (projektu CodeBlocks) zamiast pliku źródłowego .cpp
  3. Brak inicjalizacji zmienncych lokalnych (tych zadeklarowanych wewnątrz funkcji main). W takim przypadku nadawana jest im wartość przypadkowa. (bez wdawania się w szczegóły)
  4. Niedostosowanie typu zmiennej do specyfikacji zadania np. zamiast long long int - int albo zamiast double - float. W tym drugim przypadku radzimy nie stosować typu float
  5. Brak znaku nowego wiersza na wyjściu (cout << wynik << endl;), o ile w specyfikacji zadania nie jest określone inaczej. Ma to znaczenie, gdy wysyłamy zadanie do sprawdzarki
...

Kruczki

  1. Sprawdzenie nieparzystości za pomocą iloczynu bitowego & np. if(a & 1)//czy liczba a jest nieparzysta. Mnożenie/Dzielenie całkowite przez 2 za pomocą przesunięcia bitowego (a << 1) lub (a >> 1). Pamiętaj o nawiasach. (operacje na bitach działają szybciej)


Informatyka
Pozostało
do wakacji!
do góry