Zadanie zaliczeniowe z laboratorium Pascala i C. ZSI I. 04/05
-------------------------------------------------------------

Zadane: 27.04.2005, odbior: 4.05.2005, 0 punktow.

Zad 11c. (0 pkt) (C)
-------------------

Napisz w C program, ktory wczyta od uzytkownika liczbe calkowita N
(wieksza od 1) i wypisze wszystkie liczby pierwsze z zakresu 1..N,
na koncu zas poda liczbe wypisanych liczb pierwszych.
Rozwiaz to zadanie stosujac algorytm sita Eratostenesa. 
Koniecznie zastosuj w swoim rozwiazaniu funkcje - poza oczywista
funkcja main.

Rozszerzenie:
==========

Glowna czesc algorytmu (wykreslanie liczb zlozonych z tablicy i wypisywanie liczb
pierwszych) zapisz w dwu postaciach:
  - najpierw uzywajac skladni tablicowej,
  - potem przepisz pierwsza wersje uzywajac skladni wskaznikowej.

Uwaga:
======
 - programy nie kompilujace sie kompilatorami jezyka C _nie_ beda sprawdzane,
   niezaleznie od tego czy kompiluja sie kompilatormai C++ (dotyczy to
   _takze_ komentarzy //, ktorych nie ma w C),
 - pamietaj ze pliki zrodlowe w C maja rozszerzenie .c (a nie .cpp), uzycie
   innego rozszerzenie moze spowodowac wywolanie kompilatora C++ a nie C,
 - uzyj dynamicznej tablicy do pamietania sita,
 - pamietaj o zwolnieniu pamieci,
 - pamietaj o wlaczeniu _wszelkich_ dostepnych ostrzezen kompilatora.

Algorytm Sita Eratostenesa:
===========================
Dzialanie tego algorytmu jest nastepujace:
 - tworzymy zbior wszystkich liczb z przedzialu 2..k (mozna utworzyc zbior 
   wszystkich liczb z przedzialu 0..n),
 - po kolei sprawdzamy wszystkie liczby z przedzialu 2..k:
    - jesli nie naleza do zbioru to je pomijamy,
    - jesli naleza, to je wypisujemy i usuwamy ze zbioru ich
      wszystkie wielokrotnosci.
Uwaga: powyzszy algorytm mozna zmodyfikowac tak by byl nieco efektywniejszy - 
przeanalizujemy to na laboratorium.