Одним из наиболее распространенных видов системных программ являются программы, предназначенные для архивации, упаковки файлов путем сжатия хранимой в них информации.Сжатие информации — это процесс преобразования информации, хранящейся в файле, в результате которого уменьшается ее избыточность, соответственно, требуется меньший объем Памяти для хранения.Сжатие информации в файлах производится за счет устранения избыточности различными например за счет упрощения кодов, исключения из них постоянных битов или представления повторяющихся символов или повторяющейся последовательности символов в виде коэффициента повторения и соответствующих символов. Применяются различные алгоритмы подобного сжатия информации.Сжиматься могут как одни, так и несколько файлов, которые в сжатом виде помещаются в так называемый архивный файл, или архив.Архивный файл — это специальным образом организованный файл, содержащий в себе один или несколько файлов в сжатом или несжатом виде и служебную информацию об именах файлов, дате и времени их создания или модификации, размерах и т. д.Целью упаковки файлов обычно являются обеспечение более компактного размещения информации на диске, сокращение времени и, соответственно, стоимости передачи информации по каналам связи в компьютерных сетях. Кроме того, упаковка в один архивный файл группы файлов существенно упрощает их перенос с одного компьютера на другой, сокращает время копирования файлов на диски, позволяет защитить информацию от несанкционированного доступа защите от заражения компьютерными вирусами.Под степенью сжатия понимают отношение размеров сжатого файла и исходного, выраженное в процентах.Степень сжатия зависит от используемой программы сжатия, метода сжатия и типа исходного файла. Лучше всего сжимаются файлы графических образов, текстовые файлы, файлы данных, степень сжатия которых может достигать 5 — 40%, меньше сжимаются файлы исполняемых программ и загрузочных модулей — 60 — 90%. Почти не сжимаются архивные файлы. Программы для архивации отличаются используемыми методами сжатия, что соответственно влияет на степень сжатия.Архивация (упаковка) — помещение (загрузка) исходных файлов в архивный файл в сжатом или несжатом виде.Разархивацияия (распаковка) — процесс восстановления файлов из архива точно в таком виде, какой они имели до загрузки в архив. При распаковке файлы извлекаются из архива и помещаются на диск или в оперативную память.Программы, осуществляющие упаковку и распаковку файлов, называютсяпрограммами-архиваторами.Большие по объему архивные файлы могут быть размещены на нескольких дисках (томах). Такие архивы называются многотомными. Том — это составная часть многотомного архива. Создавая архив из нескольких частей, можно записать его части на несколько носителей.
#include <iostream> #include <iomanip> int main() { using namespace std; const int N = 4; const int M = 4; int Y[N][M];
//как-нибудь заполняем матрицу for (int i = 0; i < N; ++i) for (int j = 0; j < M; ++j) Y[i][j] = (i + 1) * (j + 1);
//выведем её на экран for (int i = 0; i < N; ++i) { for (int j = 0; j < M; ++j) cout << setw(3) << Y[i][j]; cout << endl; }
//находим сумму элементов побочной диагонали int S = 0; for (int i = 0; i < N; ++i) for (int j = 0; j < M; ++j) if (j == M - 1 - i) S = S + Y[i][j]; cout << "Sum of adverse diagonal of array: " << S << endl;
//находим сумму всех элементов матрицы int Sum = 0; for (int i = 0; i < N; ++i) for (int j = 0; j < M; ++j) Sum = Sum + Y[i][j]; cout << "Sum of all elements of array: " << Sum << endl; return 0; }