Армянское Радио: я же сказал, что в файле написаны 11011010101010101010. и нужно найти из них минимальную. Да, можно не переводить из двоичной в 10 с.с. а сразу сравнивать напрямую.
код работает? тогда не придирайся. посмотрим как ты напишешь, без сторонних библиотек.
я не выходу за границы.
P.S. в данном случае, ничего не изменится, если int заменить double-ом.
если заменить 1 элемент с минимальным местами, то все успешно, но чтоб минимальный вставить в начало файла, то не получается.
вот по этому участку коду.
//перемещение указателя к максимальному элементу
fseek(f, sizeof(int)+imax*sizeof(double), SEEK_SET);
//запись min вместо максимального элемента файла
fwrite(&min, sizeof(double), 1, f);
//перемещение указателя к минимальному элементу
fseek(f, sizeof(int)+imin*sizeof(double), SEEK_SET);
//запись max вместо минимального элемента файла
fwrite(&max, sizeof(double), 1, f);
вот скомпилируй, и если у тебя получиться ставить, тогда и поговорим. если есть советы - скажи. совет оп int\double, я уже понял.
Армянское Радио: То что разбирая ваш дряной код я заблудился - ваша проблема. я подумал, что комментарий к коду помогут вам понять
2) нужно найти минимум, а они не могут использовать сторонние библиотеки для сравнение 2байтовых чисел. вот пришлось из int преобразовывать в string для того, чтоб привести к 10 с.с.
3) я не могу понять, почему после fwrite(&min, sizeof(double), 1, f); не меняется порядок цифр
Почему у вас память выделяется под int, а читаются байты размером с double? - разницы в данном случае нет. это ничего не изменит
Почему у вас поганый паскальский стиль с выделением переменных где-то далеко в начале программы и их использованием? что тут такого? я сразу знаю какие переменные юзаю.
Почему вы не объявили переменную i в заголовке цикла? ты не видишь что ли, что imin дальше используется?
Почему вы используете функции из стандартной библиотеки C (fopen, fwrite, ...), хотя пишите на C++? лаба для студентки. они ничего другое не проходили
Зачем вы перемещаете указатель в начало файла сразу после открытия? Сразу после открытия указатель и так стоит на начале. пожалуйста, будь внимателен. после открытия файла вызывается функция printFile(f); после чего снова в начала ставлю
В том виде, как сделано у вас, можно все операции проделать в памяти, выполнив отображение файла. вот тут не очень понял, в какой памяти? в оперативной?
давай так. напиши на удаленном компе cmd команду копировании file1 в необходимую папку ( команда xcopy)ю сохрани его в батник (script.bat). на удаленном компе создай планировщик, чтоб он запускал этот батник, скажем каждый день\час\месяц. проблема решена. буферизация на У.К. происходит и не нагружает твою сетку