Error: invalid conversion const char* to long int

I have this problem while compiling a sketch, i made it in C++ and works perfectly, and when i tried to translate to ARDUINO, it gave me the error "invalid conversion from const char* to long int", i don´t know what is happening, i tried searching for help on google but didn´t find something that could help.

this is the code:

#include "math.h"
#include "stdlib.h"
#include "stdio.h"

float AC=4,AB=6,BC=5,BX,BY,alfa,beta,gama,beta1,gama1,Cadena[2];
char *p,*P1;
char Pantalla[]="Las coordenadas de B son: ";

void Marca()
{
char cadena[]="011100010111100110101011110";
char *p,P1;
//p
=&cadena;
p=&cadena[0];
P1=&Pantalla[0];
while (*p!='\0')
{
if(*p=='0'){
Serial.print("%c ",*P1);} //here appears the error

if(*p=='1'){
Serial.print("%c",*P1);}

p++;
P1++;
}
}
void setup ()
{
Serial.begin(9600);

Serial.print("\nPrograma para calculo de coordenadas de B:\n\n ");
alfa = acos(((BCBC)-(ABAB)-(ACAC))/(-2(ABAC)));
beta = acos(((AC
AC)-(BCBC)-(ABAB))/(-2*(BCAB)));
gama = acos(((AB
AB)-(BCBC)-(ACAC))/(-2*(BCAC)));
gama1 = 1.5707-gama;
beta1 = 1.5707-gama1;
BX = sin ((gama1)
(BC));
BY = sqrt((BCBC)-(BXBX));
Cadena[0]=BX;
Cadena[1]=BY;
Marca();
Serial.print(Cadena[0]);
Serial.print(",\t");
Serial.print(Cadena[1]);
Serial.print(")\t");
}
void loop()
{
}

Thanks for any help!!

Serial.print takes one or two arguments. The first argument is the value to be printed, not the format to be used to display the value.

The 2nd (optional) argument is how the value is to be displayed, if there are alternate representations. The valid values for the 2nd argument include HEX, BIN, and DEC.

The values you supplied to the Serial.print function are wrong.