1) Определяем общее количество бит: 16 х 640 х 480 = 4 915 200 С учетом того, что в байте 8 бит, а 1 КБ=1024 Б получим 4 915 200 / 8 / 1024 = 600 (КБ)
2) Определяем общее количество бит с учетом того, что в палитре True Color для цвета отводится 24 бита: 1600 х 1200 х 24 = 46 080 000 (бит). После преобразования файла для Интернет он будет представлен в восьмибитной палитре ( 256 = 2⁸ ) и займет объем 1400 х 900 х 256 = 10 080 000 (бит). Разница в объемах составит 46 080 000 - 10 080 000 = 36 000 000 бит. С учетом того, что в байте 8 бит, а в мегабайте 1024 х 1024 байт получим, что пространство на диске сократиться на 36 000 000 / (8 х 1024 х 1024) ≈ 4.29 (МБ)
#include "stdafx.h" #include <iostream> #include <string> #include <fstream> using namespace std; int main(){ setlocale(LC_ALL, "Russian"); ifstream in_file("f.txt"); // файл со строками ofstream out_file("g.txt"); // файл со строками, длиннее 5 слов. string buffer; // промежуточная переменная, для хранения проверяемой строки int count; // счетчик слов в строке while (getline(in_file, buffer)) { count = 0; for (unsigned int i = 0; i < buffer.length(); i++) { if (buffer[i + 1] == ' ' || buffer[i+1] == '\0') { count++; } } cout << "Количество слов в строке: "<< count << endl; if(count > 5) { out_file << buffer << endl; } buffer.clear(); } in_file.close(); out_file.close(); return 0; }
Писал в visual c++ , советую там и проверять. Все слова разделяют одним пробелом и заканчивается строка словом, без пробела после него, ибо это уже неверно будет
С учетом того, что в байте 8 бит, а 1 КБ=1024 Б получим
4 915 200 / 8 / 1024 = 600 (КБ)
2) Определяем общее количество бит с учетом того, что в палитре True Color для цвета отводится 24 бита: 1600 х 1200 х 24 = 46 080 000 (бит).
После преобразования файла для Интернет он будет представлен в восьмибитной палитре ( 256 = 2⁸ ) и займет объем
1400 х 900 х 256 = 10 080 000 (бит).
Разница в объемах составит 46 080 000 - 10 080 000 = 36 000 000 бит.
С учетом того, что в байте 8 бит, а в мегабайте 1024 х 1024 байт получим, что пространство на диске сократиться на
36 000 000 / (8 х 1024 х 1024) ≈ 4.29 (МБ)
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
int main(){
setlocale(LC_ALL, "Russian");
ifstream in_file("f.txt"); // файл со строками
ofstream out_file("g.txt"); // файл со строками, длиннее 5 слов.
string buffer; // промежуточная переменная, для хранения проверяемой строки
int count; // счетчик слов в строке
while (getline(in_file, buffer))
{
count = 0;
for (unsigned int i = 0; i < buffer.length(); i++)
{
if (buffer[i + 1] == ' ' || buffer[i+1] == '\0')
{
count++;
}
}
cout << "Количество слов в строке: "<< count << endl;
if(count > 5)
{
out_file << buffer << endl;
}
buffer.clear();
}
in_file.close();
out_file.close();
return 0;
}
Писал в visual c++ , советую там и проверять. Все слова разделяют одним пробелом и заканчивается строка словом, без пробела после него, ибо это уже неверно будет