Форум программистов, компьютерный форум, киберфорум
Наши страницы

Считать данные из файла в динамический массив соответствующего типа - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Погрешность интерполяции на C++ http://www.cyberforum.ru/cpp-beginners/thread305474.html
написал код для интерполяционного полинома Ньютоно, он работает правильно, но вот никак не могу разобратса как обчислить его погреность погреность находитса за данной формулой ...
C++ Шаблонный класс: динамический числовой массив увеличиваемого размера привет помогите реализовать программу на шаблоны пожалйста: Реализовать динамический числовой массив увеличиваемого размера как класс шаблон. Класс должен иметь перегруженный оператор... http://www.cyberforum.ru/cpp-beginners/thread305449.html
C++ Двудольный граф??
Проверка является ли граф двудольным))
C++ Корректный ввод структуры и ее обработка
Добрый день. Есть вопрос, как мне правильно ввести структуру, что бы потом корректно с ней работать. Задание:Нужно составить структуру данных и организовать соответствующую обработку данных. ...
C++ Последовательность http://www.cyberforum.ru/cpp-beginners/thread305433.html
Даны натуральные числа n, а1 ..., an. Получить произведение членов последовательности а1, ..., an, удовлетворяющих условию 2^n<an<n! Только не через массив, а цикл for Помогите, пожалуйста,...
C++ Получить новую матрицу путем умножения всех элементов данной матрицы на ее наименьший по модулю элемент Получить новую матрицу путем умножения всех элементов данной матрицы на ее наименьший по модулю элемент подробнее

Показать сообщение отдельно
asics
Freelance
Эксперт С++
2854 / 1789 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
26.05.2011, 16:53
Цитата Сообщение от IIIa66uMEM6eP Посмотреть сообщение
1) В файле целых чисел хранятся последовательности ненулевых чисел. Ноль – разделитель последовательностей. Преобразовать файл, удалив в каждой последовательности члены между первым и вторым отрицательным числом. Если отрицательных чисел меньше двух, последовательность исключить из файла.
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
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
#include <functional>
#include <iterator>
 
size_t cnt_neg(std::vector<int> &a){
  return std::count_if(a.begin(), a.end(), std::bind2nd(std::less<int>(), 0));
}
 
int main(){
  std::fstream fs("1.txt", std::ios::in);
  if(!fs){
    std::cerr << "File not found" << std::endl;
    return 1;
  }
  std::vector<std::vector<int> > m;
  while(!fs.eof()){
    std::vector<int> t;
    int t_;
    while(fs >> t_){
      if(!t_)
        break;
      t.push_back(t_);
    }
    m.push_back(t);
  }
  fs.close();
  fs.open("1.txt", std::ios::out);
  for(int i = 0; i < m.size(); ++i){
    if(cnt_neg(m[i]) < 2)
      continue;
    std::vector<int>::iterator it_1 = std::find_if(m[i].begin(), m[i].end(), std::bind2nd(std::less<int>(), 0)),
    it_2 = std::find_if(it_1 + 1, m[i].end(), std::bind2nd(std::less<int>(), 0));
    m[i].erase(it_1 + 1, it_2);
    for(int j = 0; j < m[i].size(); ++j)
      fs << m[i][j] << ' ';
    fs << '0';
  }
  return 0;
}
Содержимое файла примерно такое:
Код
6 3 -3 7 2 1 -8 0 7 3 1 7 6 -5 3 7 0
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru