Respuestas de expertos a preguntas difíciles del lenguaje C 2
# incluir & ltstring.h & gt
estructura typedef {nombre de personaje de identificación largo [10] sexo de char [2]; /p>
int del (PS * p 1, int m, PS * p2, int n)
{
int i, k, j;
para(I = 0;i<m;i++)
{
para(k = 0;k<m;k++)
si (p 1【 I].id = = p2【k】.id)
{
for (j = I; j & ltm; j++)
{ p>
p 1【j】= p 1【j+1】;
I-
}
m- ;
Romper;
}
}
Devolver m;
}
int merge( PS * p 1, int m, PS * p2, int n)
{
int i, j, k, q;
PS temperatura;
for (I = n, j = 0; i & ltm+n; i++, j++)
p2[I] = p 1[j];
p>para (k = 0; k & ltm+n; k++)
{
para (q = 0; q & ltm+n-k-1; q++) p>
if (p2[q].id & gtp2[q+1].id)
{
temp = p2[q+1];
p2【q+1】= p2【q】;
p2【q】= temperatura
}
}
p>
Devolver m+n;
}
ordenación nula (PS *p, int n)
{
Temperatura PS;
int i,j=0,k;
for(I = 0;i<n;i++)
if (p[ I 】. sexo【0】= ='f'
{
temp = p【I】; 】 ;
p【j】= temp;
j++;
}
for(I = 0;i<j;i++ )
{
for (k = I+1; k & ltj; k++)
{
if (strcmp(p 【 I】. Nombre, p[k]. Nombre)>0)
{
temp = p[I];
p[I]= p[k];
p【k】= temp;
}
}
}
for(I = j;i<n;i++ ) p>
{
for (k = I; k & ltn; k++)
{
if (strcmp(p[I 】. Nombre , paquete】.
Nombre))
{
temp = p[I];
p[I]= p[k];
p 【k】= temp;
}
}
}
}
Pantalla vacía (PS * p, int n)
{
int I;
printf("ID NOMBRE SEXO\n");
for( i = 0;i<n;i++)
printf("%d %s %s\n",p[I].id&p[I].nombre&p[I] . propiedad); p>
}
int main()
{
PS a【10】= { {101, "tom", "m"} , {103, "maría", "f"}, {104, "marca", "m"}, {105, "julia", "f"}, { 106, "sara", "f"} };
PS b【10】= { { 102, "marca", "m"}, {104, "marca", "m"} };
printf("a :\n");
display(a, 5);
printf("b:\n");
display(b,2) ;
int m = del(a,5,b,2);
printf("a:\n");
display(a, m);
int n = merge(a,m,b,2);
printf("b:\n");
Display( b,n);
sort(a,m);
printf("a:\n");
Mostrar (a, m);
}