Объясне800*600*16 (16 бит на пиксель это 65 536 цветов)=7680000 - бит информационный вес одного поля кадра.
Допустим частота обновления экрана монитора 60 Гц, тогда
7680000*60 (Гц)=460800000 бит в секунду * 60 (секунд)= 27648000000 бит - информационная емкость потока фильма в течении 1 минуты.
Постичаем в байтах
27648000000/8/1024/1024/1024=3.2186 Гигабайт - объём информационного потока
Задача №3
за одну секунду пройдет 36 мегабайт
2 часа = 7200 секунд *36=259200 мегабайт=253.12 Гбайт
Р.S. Это только в файле ваши фильмы нетакие большие, а при проигрывании при декомпрессии по шине памяти и по вашим HDMI проводам именно такие потоки и идут
int main() { int Count[16],Names[16]; for (int i=0; i<16; i++) { Count[i] = 0; Names[i] = i + 1; } int n,t; cin >> n; for (int i=1; i<=n; i++) { cin >> t; Count[t] = Count[t] + 1; } for (int i=15; i>0; i--) for (int j=1; j<i; j++) if (Count[j-1] < Count[j]) { t = Count[j]; Count[j] = Count[j-1]; Count[j-1] = t; t = Names[j]; Names[j] = Names[j-1]; Names[j-1] = t; } for (int i=0; i<16; i++) if (Count[i] > 0) cout <<Names[i] <<' ' <<Count[i] <<endl; return 0; } Только при вводе t помни, что индексация массив в С++ начинается с нуля, соответственно последний элемент будет иметь индекс N-1.
Объясне800*600*16 (16 бит на пиксель это 65 536 цветов)=7680000 - бит информационный вес одного поля кадра.
Допустим частота обновления экрана монитора 60 Гц, тогда
7680000*60 (Гц)=460800000 бит в секунду * 60 (секунд)= 27648000000 бит - информационная емкость потока фильма в течении 1 минуты.
Постичаем в байтах
27648000000/8/1024/1024/1024=3.2186 Гигабайт - объём информационного потока
Задача №3
за одну секунду пройдет 36 мегабайт
2 часа = 7200 секунд *36=259200 мегабайт=253.12 Гбайт
Р.S. Это только в файле ваши фильмы нетакие большие, а при проигрывании при декомпрессии по шине памяти и по вашим HDMI проводам именно такие потоки и идут
using namespace std;
int main()
{
int Count[16],Names[16];
for (int i=0; i<16; i++)
{
Count[i] = 0;
Names[i] = i + 1;
}
int n,t;
cin >> n;
for (int i=1; i<=n; i++)
{
cin >> t;
Count[t] = Count[t] + 1;
}
for (int i=15; i>0; i--)
for (int j=1; j<i; j++)
if (Count[j-1] < Count[j])
{
t = Count[j]; Count[j] = Count[j-1]; Count[j-1] = t;
t = Names[j]; Names[j] = Names[j-1]; Names[j-1] = t;
}
for (int i=0; i<16; i++)
if (Count[i] > 0)
cout <<Names[i] <<' ' <<Count[i] <<endl;
return 0;
}
Только при вводе t помни, что индексация массив в С++ начинается с нуля, соответственно последний элемент будет иметь индекс N-1.