La base de datos tiene dos tablas: Empresa: campos CompanyId, CompanyName Tabla: Empleados: campos EmployeeId, EmployeeName
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 ; p>
i;
while(ilt; n-1)
{
if(fecha[i]==fecha[i 1] ) p>
{
recuento
i
isSameFlag=1
}
else
{
isSameFlag=0;
descanso
}
} p>
if(countgt;=3)
{
comp[comCount]=0;
comp[comCount 1]=count 1;
comp[comCount 2 ]=fecha[i];
comCount =3;
count=0
} p>
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.