#include <stdio.h>
#include <conio.h>
#include <string.h>
main()
{
struct rec
{
char name[15], fam[15],
kl[15], god[15];
};
struct rec array[100];
FILE *f;
int i, c=0, j;
f = fopen("new1.txt","r");
while (! feof(f))
{
fscanf(f,"%s",array[c].fam);
fscanf(f,"%s",array[c].name);
fscanf(f,"%s",array[c].kl);
fscanf(f,"%s",array[c].god);
c++;
}
fclose(f);
printf("Однофамильцы:\n");
for (i=0; i<=c; i++)
for (j=i+1; j<c; j++)
if (strcmp(array[i].fam, array[j].fam) == 0)
printf("%s %s %s %s - %s %s %s %s\n",array[i].fam, array[i].name, array[i].kl, array[i].god,
array[j].fam, array[j].name, array[j].kl, array[j].god);
getch();
}
for (i=0; i<=c; i++)
for (j=i+1; j<c; j++)
#define _CRT_SECURE_NO_WARNINGS //чтоб MS не требовала функции с суффиксом _s
#include <stdio.h>
#include <conio.h>
#include <string.h>
int main()
{
struct rec
{
char name[15], fam[15],
kl[15], god[15];
};
struct rec array[100];
FILE *f;
int i, c = 0, j, count;
bool used[100] = { false };
f = fopen("new1.txt", "r");
while (!feof(f))
{
fscanf(f, "%s", array[c].fam);
fscanf(f, "%s", array[c].name);
fscanf(f, "%s", array[c].kl);
fscanf(f, "%s", array[c].god);
c++;
}
fclose(f);
printf("Однофамильцы:\n");
for (i = 0; i < c - 1; i++)
{
if (false == used[i]) //==true, если был найден ранее
{
count = 0;
for (j = i + 1; j < c; j++)
{
if (strcmp(array[i].fam, array[j].fam) == 0)
{
used[j] = true;
if (++count == 1)
printf("%s %s %s %s", array[i].fam, array[i].name, array[i].kl, array[i].god);
printf(", %s %s %s %s", array[j].fam, array[j].name, array[j].kl, array[j].god);
}
}
if (count)
printf("\n");
}
}
_getch();
return 0;
}
Если Вы уже зарегистрированы на Портале - войдите в систему, если Вы еще не регистрировались - пройдите простую процедуру регистрации.