for ( i = 0; i<SIZE; i++)
{
printf("\nNAME: ");
scanf("%s", GROUP[i].FIO);
printf("Gender(m/f): ");
scanf("%s", GROUP[i].Gender);
printf("City : ");
scanf("%s", GROUP[i].City);
printf("Marks[%d] : ", MAX_BALLS);
for (j=0;j<MAX_BALLS;j++)
scanf("%d", &GROUP[i].Balls[j])
;
}
for ( i = 0; i<SIZE; i++)
{
printf("\nNAME: ");
scanf("%s", GROUP[i].FIO);
fprintf(f, "\nNAME: %s", GROUP[i].FIO);
printf("Gender(m/f): ");
scanf("%s", GROUP[i].Gender);
fprintf (f, "Gender(m/f): %s", GROUP[i].Gender);
printf("City : ");
scanf("%s", GROUP[i].City);
fprintf (f, "City : %s", GROUP[i].City);
printf("Marks[%d] : ", MAX_BALLS);
fprintf (f, "Marks[%d] : ", MAX_BALLS);
for (j=0;j<MAX_BALLS;j++) {
scanf("%d", &GROUP[i].Balls[j]);
fprintf (f, "%d", GROUP[i].Balls[j]);
}
#include <stdio.h>
#include<string.h>
#define SIZE 4
#define MAX_BALLS 4
typedef struct
{
int year;
int month;
int day;
} Born;
typedef struct student
{
char FIO[20];
char Gender[2];
Born b;
char City[30];
int Balls[MAX_BALLS];
} Student;
void Print_Group(Student MyMas[], int quant);
void Izm_Group(Student MyMas[], Student MyMas1[], int quant, int *quant1);
void Sort_Group(Student MyMas[], int quant);
int main()
{
int i;
int j;
int n1;
Student GROUP[SIZE], GROUP1[SIZE];
FILE* f = fopen ("print.txt", "rt");
for ( i = 0; i<SIZE; i++)
{
printf("\nNAME: ");
scanf("%s", GROUP[i].FIO);
fprintf(f, "\nNAME: %s", GROUP[i].FIO);
printf("Gender(m/f): ");
scanf("%s", GROUP[i].Gender);
fprintf (f, "Gender(m/f): %s", GROUP[i].Gender);
printf("City : ");
scanf("%s", GROUP[i].City);
fprintf (f, "City : %s", GROUP[i].City);
printf("Marks[%d] : ", MAX_BALLS);
fprintf (f, "Marks[%d] : ", MAX_BALLS);
for (j=0;j<MAX_BALLS;j++) {
scanf("%d", &GROUP[i].Balls[j]);
fprintf (f, "%d", GROUP[i].Balls[j]);
}
fprintf(f, "______________________\n");
fprintf(f, "\nVvednniy spisok[%i]\n",SIZE);
fprintf(f, "______________________\n");
Print_Group(GROUP, SIZE, f);
fprintf(f, "\n");
fclose (f);
f = fopen ("izm.txt", "wt");
Izm_Group(GROUP,GROUP1,SIZE, &n1);
fprintf(f, "______________________\n");
fprintf(f, "Sokrazhennyi spisok[%i]\n",n1);
fprintf(f,"______________________\n");
Print_Group(GROUP1,n1);
fprintf(f,"\n");
fclose (f);
f = fopen ("sort.txt", "wt");
Sort_Group(GROUP1,n1);
fprintf(f,"______________________\n");
fprintf(f,"Otsortirovannyi spisok[%i]\n",n1);
fprintf(f, "______________________\n");
Print_Group(GROUP1,n1, f);
fclose (f);
return 0;
}
void Print_Group(Student MyMas[], int quant, FILE* f)
{ int i,j;
double sum;
fprintf(f,"\Name\tGender\tCity\tMarks\tSredniy ball\n");
for( i=0, sum=0.0; i<quant; i++)
{
fprintf(f,"%s\t%s\t%s\t", MyMas[i].FIO, MyMas[i].Gender, MyMas[i].City);
for(j=0, sum=0.0; j<MAX_BALLS; j++)
{ sum+=MyMas[i].Balls[j];
fprintf(f,"%d ", MyMas[i].Balls[j]);
}
fprintf(f, "%4.2f\n", sum/MAX_BALLS);
}
}
void Izm_Group(Student MyMas[], Student MyMas1[], int quant, int *quant1)
{
int i;
for(i=0, *quant1=0; i<quant; i++)
if((strcmp(MyMas[i].Gender,"f")==0)&&(strcmp(MyMas[i].City,"SPb")==0))
{
MyMas1[(*quant1)++]=MyMas[i];
}
}
void Sort_Group(Student MyMas[],int quant)
{
int i, j, k, k1;
int sum, sum1;
Student buf;
for(i=1; i<quant;i++)
for(j=quant-1; j>=i;j--)
{
for (k=0, sum=0; k<MAX_BALLS; k++)
sum+=MyMas[j].Balls[k
];
for (k1=0, sum1=0; k1<MAX_BALLS; k1++)
sum1+=MyMas[j-1].Balls[k1];
if(sum1>sum)
{
buf=MyMas[j];
MyMas[j]=MyMas[j-1];
MyMas[j-1]=buf;
}
}
}
Если Вы уже зарегистрированы на Портале - войдите в систему, если Вы еще не регистрировались - пройдите простую процедуру регистрации.