Форум программистов, компьютерный форум CyberForum.ru

Работа с файлами через ifstream/ofstream - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 59, средняя оценка - 4.88
.: TAPAKAH :.
Мега Таракан
 Аватар для .: TAPAKAH :.
110 / 11 / 1
Регистрация: 24.05.2010
Сообщений: 227
25.02.2012, 21:55     Работа с файлами через ifstream/ofstream #1
Добрый вечер! Как сделать такую манипуляцию с файлом??? Через ifstream и ofstream
Код
Создать файл, состоящий из n вещественных чисел.
Вывести на экран все числа данного файла с нечетными порядковыми номерами, 
больше заданного числа
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.02.2012, 21:55     Работа с файлами через ifstream/ofstream
Посмотрите здесь:

C++ ifstream/ofstream/fstream
Работа с файлами через ifstream/ofstream C++
Работаем с потоками на C++ ofstream и ifstream C++
C++ C++ файлы ifstream/ofstream
ifstream ofstream C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
26.02.2012, 00:13     Работа с файлами через ifstream/ofstream #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream>
#include <iterator>
#include <fstream>
#include <algorithm>
 
int main()
{
    std::fstream fs("1.txt");
    if(fs)
    {
        std::cout << "Input numbers into file\n";
        std::copy((std::istream_iterator<double>(std::cin)), std::istream_iterator<double>(), std::ostream_iterator<double>(fs, "\n"));
        std::cin.clear();
        std::cin.sync();
        fs.seekg(0);
        double num, tmp;
        std::size_t cntr = 0;
        std::cout << "Input num : ";
        std::cin >> num;
        while(fs >> tmp)
        {
            if(!(cntr++ & 1) && tmp > num) std::cout << tmp << std::endl;
        }
    }
    else std::cerr << "Can't open file\n";
    fs.close();
    return 0;
}
.: TAPAKAH :.
Мега Таракан
 Аватар для .: TAPAKAH :.
110 / 11 / 1
Регистрация: 24.05.2010
Сообщений: 227
26.02.2012, 16:17  [ТС]     Работа с файлами через ifstream/ofstream #3
А почему он файл 1.txt не создает?
И ещё, как понимаю, тут
C++
1
2
3
4
5
6
7
****
std::size_t cntr = 0;
****
while(fs >> tmp)
  {
    if(!(cntr++ & 1) && tmp > num) std::cout << tmp << std::endl;
  }
можно записать так
C++
1
2
while(fs >> tmp)
  if (tmp > num) std::cout << tmp << std::endl;
Добавлено через 1 час 7 минут
Все, решил задачу
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#pragma hdrstop
#pragma argsused
 
#include <tchar.h>
#include <stdio.h>
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <ctime>
 
int _tmain(int argc, _TCHAR* argv[])
{
  int N;
  std::cout << "N-> ";
  std::cin >> N;
  double * arr = new double[N];
  int num, i = 0;
  std::ofstream outf("file.txt", ios::binary);
  for(int i=0; i < N; i++)
  {
    arr[i] = rand() % 10;
    outf << arr[i] << " ";
  }
  outf.close();
  std::ifstream inf("file.txt", ios::binary);
  if(!inf)
    std::cout << "File not found!!!";
 
  std::cout << "Enter num -> ";
  std::cin >> num;
  while(inf)
  {
    inf >> arr[i];
    if(!(i%2) && arr[i] < num)
      std::cout << "-> " << arr[i] << "\n";
    i++;
  }
  inf.close();
  delete[] arr;
  system("pause");
  return 0;
}
sovaz1997
CEO SOVAZ Corp.
 Аватар для sovaz1997
379 / 225 / 2
Регистрация: 17.12.2011
Сообщений: 816
Записей в блоге: 1
26.02.2012, 17:02     Работа с файлами через ifstream/ofstream #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <ctime>
 
using namespace std;
 
int main()
{
    setlocale(0,"");
    ofstream f1("test.txt");
    int n = 15;
    for( int i = 0; i < n; ++i )
    {
        srand(time(0) * (i + 5));
        f1 << rand() % 100 << " ";
    }
    ifstream f2("test.txt");
    cout << "Введите минимальное число: " << endl;
    int a = 0;
    int temp = 0;
    cin >> a;
    for( int i = 0; i < n; ++i )
    {
        f2 >> temp;
        if( temp % 2 == 1 && temp > a )
            cout << temp << " ";
    }
}
Чего-то не хватает...
Yandex
Объявления
26.02.2012, 17:02     Работа с файлами через ifstream/ofstream
Ответ Создать тему
Опции темы

Текущее время: 19:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru