Red de conocimiento informático - Aprendizaje de código fuente - La base de datos tiene dos tablas: Empresa: campos CompanyId, CompanyName Tabla: Empleados: campos EmployeeId, EmployeeName

La base de datos tiene dos tablas: Empresa: campos CompanyId, CompanyName Tabla: Empleados: campos EmployeeId, EmployeeName

Déjame responder a tu segunda pregunta. Es básicamente la misma que la pregunta del examen ACM y es un problema típico de programación lineal.

Escrito con prisas y no testado rigurosamente.

El código fuente es el siguiente;

#include "stdio.h"

#include "conio.h"

int comCount=0 ;

void compress(int fecha[], int comp[], int n)

{

int i=0;

int count=0;

int dead while=0;

int isSameFlag=0

for(i=0; ilt; n- 1; i )

{

if(fecha[i]!=fecha[i 1]amp;amp;!isSameFlag)

{

comp[comCount]=fecha[i];

comCount;

}

else if(fecha[i]==fecha[i 1] amp ;amp;! isSameFlag)

{

isSameFlag=1

count=0

recuento ;

i;

while(ilt; n-1)

{

if(fecha[i]==fecha[i 1] )

{

recuento

i

isSameFlag=1

}

else

{

isSameFlag=0;

descanso

}

}

if(countgt;=3)

{

comp[comCount]=0;

comp[comCount 1]=count 1;

comp[comCount 2 ]=fecha[i];

comCount =3;

count=0

}

else

{

count=0;

}

}

if( !isSameFlag)

{

comp[comCount]=date[i]

}

else

{

comCount--;

}

}

}

main()

{

const int ArrayLenth=22;

int a[22]={ 12, 12, 12, 12, 12, 13, 13, 13, 14, 15, 16 ,16,16,16,16,16,16,16,17,18,18,18};

/*int a[ArrayLenth]={12,13,14,15 ,16, 16, 16, 16, 16, 16, 16, 16, 17};*/

int b[ArrayLenth]={0};

int i=0 ;

p>

compress(a, b, ArrayLenth);

for(i=0; ilt; comCoun);

t 1; i )

{

printf("3d,",b[i]);

}

getch( );

}

Se aprobó la compilación de Dev-C.

Los resultados de los datos de la prueba son los siguientes:

0, 5, 12, 0, 4, 13, 14, 15, 0, 6, 16, 17, 0, 4, 18,

Los resultados de la prueba de datos proporcionados por el propietario son los siguientes:

12, 13, 14, 15, 0, 6, 16, 17,

Complejidad del tiempo: 0(n)

¡Buena suerte!

Si lo escribes en un proyecto, asegúrate de probarlo rigurosamente.