Программа ооп, c++: "опишите класс студент со следующими данными: -фамилия и имя каждого студента; -пол каждого студента; -дата рождения каждого студента; -количество экзаменов на сессии; -оценки, полученные на экзаменационной сессии каждым студентом. класс должен содержать методы, которые: •
вводят и выводят на экран данные о студенте; • изменяют по выбору пользователя данные о студенте. в функции main() создайте меню, демонстрирующее работу методов класса. "
#define maxsize 105
typedef struct station{
int x, y, z;
} station;
int abs(int x){
return x >= 0 ? x : -x;
}
int min(int a, int b){
return a <= b ? a : b;
}
int main(){
FILE *ist, *ost;
station s[maxsize];
int w[maxsize][maxsize];
int inc[maxsize];
int n,i,j,k,m,l,r;
ist = fopen("input.txt","r");
fscanf(ist, "%d", &n);
for(i = 0; i < n; i++) fscanf(ist, "%d %d %d", &s[i].x, &s[i].y, &s[i].z);
fclose(ist);
for(i = 0; i < n; i++) inc[i] = 0;
for(i = 0; i < n; i++)
for(j = i; j < n; j++)
w[i][j] = w[j][i] = min(abs(s[i].x - s[j].x), min(abs(s[i].y - s[j].y), abs(s[i].z - s[j].z)) );
r = 0; k = 1;
inc[0] = 1;
while(k < n){
m = -1;
for(i = 0; i < n; i++) if(inc[i])
for(j = 0; j < n; j++) if(!inc[j])
if (m == -1 || w[i][j] < m) m = w[i][j], l = j;
r += m;
inc[l] = 1;
k++;
}
ost = fopen("output.txt","w");
fprintf(ost,"%d", r);
fclose(ost);
return 0;
}
задача 1
значит так: у племени 24 буквы и 8 цифр - всего 32 символа в их алфавите.
вес одного символа определяется из формулы: N=2^i (где i - вес одного символа алфавита. подставим 32 в эту формулу и получим
32=2^i представим 32 как двойку в 5 степени и получим верное равенство 2^5=2^i, отсюда i=5 бит
задача 2
запишем условие: N=64, K (количество символов в тексте)=20 найти I
решение: из формулы мощности алфавита найдем вес одного символа
64=2^i, 64 представим как двойку в 6 степени и получим верное равенство 2^6=2^i, отсюда i=6 бит
для вычисления информационного объема воспользуемся формулой I=K*i=20*6=120 бит это и есть ответ
задача3
запишем условие: N=16, I=1/16 Мб, К-?
решение: из формулы мощности алфавита найдем вес одного символа
16=2^i, 16 представим как двойку в 4 степени и получим верное равенство 2^4=2^i, отсюда i=4 бит
выразим информационный объем текста в битах. для этого 1/16Мб*1024*1024*8=524288 бит
для вычисления количества символов в тексте информационного объема воспользуемся формулой I=K*i отсюда К=I/i=522288/4= 131072 символа это и есть ответ