Всем доброго времени суток. Нужна ваша помощь. Программа практически полностью доделана, но не могу понять как осуществить проход именно по семьям и выписать семьи с одинаковыми номерами квартир.
#include <iostream>
#include <cstdio>
void m_print(void) // для печати файла
{
int oldmax_1 = 0; // используеться для определения возраста в семье 1
int oldmax_2 = 0; // используеться для определения возраста в семье 2
int oldmax_3 = 0; // используеться для определения возраста в семье 3
int oldmax_4 = 0; // используеться для определения возраста в семье 4
char oldmax_name_1[32]; // используеться для имени старшего человека в семье 1
char oldmax_name_2[32]; // используеться для имени самого страшего человека в семье 2
char oldmax_name_3[32]; // используеться для имени самого старшего человека в семье 3
char oldmax_name_4[32]; // используеться для имени самого страшего человека в семье 4
char oldmin_name_1[32]; // используеться для имени самого младшего человека в семье 1
char oldmin_name_2[32]; // используеться для имени самого младшего человека в семье 2
char oldmin_name_3[32]; // используеться для имени самого младшего человека в семье 3
char oldmin_name_4[32]; // используеться для имени самого младшего человека в семье 4
struct people
{
char name[32];
int old;
};
struct J_GEO_1
{
char city[32];
char ulitsa[32];
int kv;
int dom;
};
struct Family
{
char name[32];
people* fd[5];
J_GEO_1* ad;
};
people a = {"dima", 15,},
b = {"egor", 20,},
c = {"misha" , 30,},
n = {"ola" , 29,},
v = {"masha" , 70,},
d = {"sasha" , 35,},
x = {"dasha" , 34,},
e = {"oleg" , 15,},
f = {"kostya" , 70,},
q = {"ira" , 68},
z = {"kira" , 15,},
l = {"karina" , 34,},
m = {"nikita" , 35,},
s = {"vova" , 60,},
r = {"dima" , 70,}, // no
u = {"stas" , 29,},
i = {"nastya" , 33,},
p = {"vera", 40,}, // no
o = {"mikle" , 67,}, // no
h = {"luda" , 63,}; // no
J_GEO_1 a1 = {"moskva", "perovo" , 16 , 140, },
d1 = {"moskva", "akdemicheskaya" , 15 , 10,},
z1 = {"ekaterinburg", "puskina", 29 , 140,},
u1 = {"anapa", "ianovo", 16 , 48};
// сравнение номеров домов вывод одинаковых семей
// сравнение квартир вывод одинаковых семей
// сравнение имен в семьях вывод одинаковых имен в семьях
Family F1, F2, F3, F4;
strcpy(F1.name, "F1");
F1.fd[0] = &a;
F1.fd[1] = &b;
F1.fd[2] = &c;
F1.fd[3] = &n;
F1.fd[4] = &v;
F1.ad = &a1;
strcpy(F2.name, "F2");
F2.fd[0] = &d;
F2.fd[1] = &x;
F2.fd[2] = &e;
F2.fd[3] = &f;
F2.fd[4] = 0;
F2.ad = &d1;
strcpy(F3.name, "F3");
F3.fd[0] = &z;
F3.fd[1] = &l;
F3.fd[2] = &m;
F3.fd[3] = &s;
F3.fd[4] = 0;
F3.ad = &z1;
strcpy(F3.name, "F4");
F4.fd[0] = &u;
F4.fd[1] = &i;
F4.fd[2] = 0;
F4.fd[3] = 0;
F4.fd[4] = 0;
F4.ad = &u1;
for (int ic = 0; ic <= 4; ic++)
{
if(oldmax_1<F1.fd[ic]->old)
{
oldmax_1 = F1.fd[ic]->old;
strcpy(oldmax_name_1, F1.fd[ic]->name);
}
for (int ic = 0; ic <= 4; ic++)
{
if (oldmax_2 < F2.fd[ic]->old)
{
oldmax_2 = F2.fd[ic]->old;
strcpy(oldmax_name_2, F2.fd[ic]->name);
}
for (int ic = 0; ic <= 4; ic++)
{
if (oldmax_3 < F3.fd[ic]->old)
{
oldmax_3 = F3.fd[ic]->old;
strcpy(oldmax_name_3, F3.fd[ic]->name);
}
for (int ic = 0; ic <= 4; ic++)
{
if (oldmax_4 < F4.fd[ic]->old)
{
oldmax_4 = F4.fd[ic]->old;
strcpy(oldmax_name_4, F4.fd[ic]->name);
} // закончили с максимальным возрастом
for (int ic = 0; ic <= 4; ic++)
{
if (oldmax_1 > F1.fd[ic]->old)
{
oldmax_1 = F1.fd[ic]->old;
strcpy(oldmin_name_1, F1.fd[ic]->name);
}
for (int ic = 0; ic <= 4; ic++)
{
if (oldmax_2 > F2.fd[ic]->old)
{
oldmax_2 = F2.fd[ic]->old;
strcpy(oldmin_name_2, F2.fd[ic]->name);
}
for (int ic = 0; ic <= 4; ic++)
{
if (oldmax_3 > F3.fd[ic]->old)
{
oldmax_3 = F3.fd[ic]->old;
strcpy(oldmin_name_3, F3.fd[ic]->name);
}
for (int ic = 0; ic <= 4; ic++)
{
if (oldmax_3 > F3.fd[ic]->old)
{
oldmax_4 = F4.fd[ic]->old;
strcpy(oldmin_name_4, F4.fd[ic]->name);
} // закончили с минимальным возрастом
}
}
}
}
}
}
}
}
}