Добавил:
Yanus
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:lab - Vova / 04_2 / main
.cpp#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
//#define N 3
#define S 5
struct student
{
char name[25];
int *mark;
};
void main()
{
student man[S];
int i, j;
char str[10];
int m_count[4] = {0, 0, 0, 0};
int N;
srand((unsigned)time(NULL));
printf("Kol-vo ekzamenov: ");
scanf("%d", &N);
if (N<1)
{
printf("=(");
getchar();
getchar();
exit(1);
}
for (i = 0; i < S; i++)
{
man[i].mark = new int[N];
strcpy(man[i].name, "student_");
itoa(i, str, 10);
strcat(man[i].name, str);
printf("\n%s\n", man[i].name);
for (j = 0; j < N; j++)
{
man[i].mark[j] = rand()%4+2;
printf("mark %d: %d\n", j, man[i].mark[j]);
}
}
for (i = 0; i < S; i++)
{
for (j = 0; j < N; j++)
{
m_count[man[i].mark[j]-2]++;
}
}
for (i = 0; i < 4; i++) printf("\n%d: %d", i+2, m_count[i]);
printf("\nAverage mark = %f\n",
(float)(m_count[0]*2+m_count[1]*3+m_count[2]*4+m_count[3]*5)/(N*S));
printf("\nStudents with bad marks:\n");
for (i = 0; i < S; i++)
{
for (j = 0; j < N; j++)
{
if (man[i].mark[j] < 3)
{
printf("%s\n", man[i].name);
break;
}
}
}
for (i = 0; i < S; i++)
{
delete man[i].mark;
}
getchar();
getchar();
}