Формат файлов - это спецификация структуры данных, записанных в компьютерном файле. Идентификатор самого формата файла, как правило, всегда указывается в конце имени файла в виде «расширения». Тип файла — это информация для быстрой идентификации содержимого файла операционной системой и пользователем без необходимости считывания всего содержимого файла. Благодаря этой информации пользователь приблизительно знает тип содержащейся информации в файле, а в операционной системе может быть сопоставлена программа для обработки файлов данного типа. Расширение файла - это часть имени файла, которое отделяется от основного имени точкой. Прежде всего, по расширению можно понять какое содержимое находится в файле: музыка, видео, изображение и так далее.
Объяснение:
Файлы с расширением .doc
Файл DOC - документ Microsoft Word, без сомнения, самой популярной программы для работы с текстами. Word входит в поставку всех версий офисного пакета Microsoft Office.
Файл с расширением .docx
Файл DOCX - документ, созданный с или более новой версии Office. Формат файла основан на Open XML и использует сжатие по алгоритму ZIP для уменьшения размера файла.
Файл с расширением .mov
Файл MOV используется для хранения фильмов и других видеоматериалов. Формат файла и технология сжатия видео разработаны компанией Apple. Совместим как с платформой Mac OS, так и с Windows.
Файл с расширением .pdf
Файл .PDF - документ, созданный с программы Adobe Acrobat, соответствующего плагина для web-браузера, либо стороннего софта.
#include <algorithm>
#include <vector>
int main()
{
// Заполняем.
const int n = 1000;
std::srand(time(0));
std::vector<unsigned int> arr(n);
std::generate(arr.begin(), arr.end(), std::rand);
// Находим первые два четных элемента.
auto lambda = [](const unsigned int & i){ return (i % 2) == 0; };
auto iEven1 = std::find_if(arr.begin(), arr.end(), lambda);
auto iEven2 = std::find_if(iEven1 + 1 , arr.end(), lambda);
unsigned int nEven1 = *iEven1;
unsigned int nEven2 = *iEven2;
// Изменяем.
bool isTurn = false;
std::transform(iEven2 + 1, arr.end(), iEven2 + 1,
[&isTurn, &nEven1, &nEven2](unsigned int i){
unsigned int t = i;
i = nEven1 * nEven2;
if (t % 2) return i;
isTurn = !isTurn;
if (isTurn) nEven1 = t;
else nEven2 = t;
return i;
});
return 0;
}