 /* '02 Main.cpp' */

 /* Plik nagłówka strumienia wejścia-wyjścia */
#include <iostream>
 /* plik nagłówka modułu matematycznego C++  */
#include <math.h>

 /* Użycie definicji opisujących jaka wartosć znajduje się w danej
    tabeli */
#define COSTABLE 0
#define SINTABLE 1
#define TANTABLE 2

 /* Definicja liczby pi */
#define PI 3.14159

 /* Start */
main (void)
{
  /* Deklaracja tablicy matematycznej */
 double Table [3][360]; /* 360 elementów dla wszystkich kątów z zakresu od 0 do 
              359 razy trzy dla cosinusa i sinusa 
              tangensa */
 int Number;

  /* Obliczenie tablic matematycznych */
 std::cout << "Obliczanie tablic matematycznych..." << std::endl;

 for (Number = 0; Number < 360; Number++)
 {
  Table [COSTABLE] [Number] = cos (Number * PI / 180);
  Table [SINTABLE] [Number] = sin (Number * PI / 180);

   /* Sprawdzenie czy kąt nie równa się 90, ponieważ jest to wartość 
      nieprawidłowa */
  if (Number != 90)
  {
   Table [TANTABLE] [Number] = tan (Number * PI / 180);
  }
 }

  /* Wyświetlenie wartości sinus, cosinus i tangens dla 10 losowych kątów */
 for (Number = 0; Number < 10; Number++)
 {
  int TempNumber = rand () % 360;
  std::cout << "Argument = " << TempNumber;
  std::cout << "  cos = " << Table [COSTABLE] [TempNumber];
  std::cout << "  sin = " << Table [SINTABLE] [TempNumber];
  std::cout << "  tan = " << Table [TANTABLE] [TempNumber] << std::endl;
 }
 return 0;
}