Ошибка при компиляции, не понимаю

Только начал изучать C, написал программку с циклами, но по синтаксису не совсем понимаю

void algorithm()
{
  A = -17; B = -8; C = 21; D = -5;
  if (C > A)
  {
    for(int i = 17; i <= 18; ++i)
    {
      B=i*D;
      A=2;
      while (A < 4)
      {
        A = A+2;
        B = B / A;
      }
    }
    C = B / D;
    for(int i = 7; i <= 8; ++i)
    {
      C = i / A;
      B = 3;
      while (B<9)
      {
        B = B+3;
        C = C / B;
      }
      D=C % A;
    }
    B=(A*C)+4;
  }
  else
  {
    for(int i = 4; i <= 6; ++i)
    {
      D=B-A;
      for(int j = i; i <= 6; ++i)
      {
        B=i+j;
        C=C+2;
      }
      B=B+A;
    }
    C=(A-B)+2;
    A=(B-D)*3;
  }
  if (D>B)
  {
    for(int i = 6; i <= 8; ++i)
    {
      B=C-D;
      for(int j = i; i <= 8; ++i)
      {
        C=i+j;
        A=A+4;
      }
      C=C-D;
    }
    C=(C+A)+5;
  }
  else
  {
    A=(D*A) / 8;
    A=(A+D) % 6;
  }
  C=(B+A) % 1;
  std::cout << A, B, C, D;
}

Ошибки:

  error: expected ‘;’ before ‘div’
       22 |       C = i div A;


error: ‘A’ undeclared (first use in this function)
error: ‘B’ undeclared (first use in this function)
error: ‘C’ undeclared (first use in this function)
error: ‘D’ undeclared (first use in this function)

Ошибка последняя при компиляции:

(.text+0x24): undefined reference to `main'
collect2: error: ld returned 1 exit status

Спасибо всем кто помог в комментариях, без вас бы не справился


Ответы (1 шт):

Автор решения: CrazyElf
  1. c++ - язык со строгой типизацией, типы всех переменных нужно описывать:
int A = -17; 
int B = -8; 
int C = 21; 
int D = -5;
  1. Чтобы использовать std::cout нужно добавить библиотеку:
#include <iostream>
  1. В программе обязательно должна быть функция main, с неё начинается исполнение.
→ Ссылка