Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.06.2010, 18:30   #1
FauLL
Пользователь
 
Регистрация: 28.05.2010
Сообщений: 15
По умолчанию Обработка файлов

Дан файл File_in.dat, содержащий 65536 целых чисел. Считать 10 центральных значений файла, найти их среднее значение. Результат записать в файл File_out.dat.

Код:
#include<iostream.h>
#include<fstream.h>
main()
{
      ifstream readFile("File_in.dat",ios::in);
      ofstream writeFile("File_out.dat",ios::out);
      if(!readFile)
      {
               cerr<<"file can't open"<<endl;
               system ("pause");
               }
Вот начал, а дальше незнаю как делать.
FauLL вне форума Ответить с цитированием
Старый 23.06.2010, 21:34   #2
TGrey[WoLf]
Пользователь
 
Регистрация: 21.06.2010
Сообщений: 27
По умолчанию

Ну поделите общее число на 2, получите середину файла, от нее +- 5, это будут 10 средних. А дальше
Код:
istream& seekg ( streamoff off, ios_base::seekdir dir );
пример
Код:
ifstream is;
  is.open ("test.txt");

  // get length of file:
  is.seekg (0, ios::end);
  length = is.tellg();
  is.seekg (0, ios::beg);
С помощью этой функции переходим в нужную позицию и читаем от туда 10 целых чисел, и находим среднее.
Было у меня дело не хотело переходить по файл, долго мучался искал причину, оказалось, что я до того уже обходил файл до конца, и там был установлен флаг конца файла. Если будет подобное то нужно вызвать
Код:
file.clear();
Очищает флаги.



--------
Кстати уже не помню, переходит ли оно в нужную позицию той функцией, если нет, тогда в цикле читаем из файла
Код:
int o;
double sred=0;
for(int i=0; i<65536/2-5;i++)
   file >> o;

for(i=0;i<10;i++)
  sred += (file >> o);

sred /= 10;
Типо того.

Последний раз редактировалось TGrey[WoLf]; 23.06.2010 в 21:43.
TGrey[WoLf] вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработка файлов в Delphi. vudex Фриланс 7 10.06.2010 22:55
Обработка файлов. Morzik8 Помощь студентам 2 17.05.2010 20:05
Обработка текстовых файлов Frenki Помощь студентам 4 17.05.2009 14:52
Обработка файлов Си++ modulrev Помощь студентам 22 19.02.2009 18:53