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

Удалить из файла все числа меньше заданного - C++

Восстановить пароль Регистрация
 
nomal
0 / 0 / 0
Регистрация: 13.11.2012
Сообщений: 4
13.11.2012, 01:47     Удалить из файла все числа меньше заданного #1
Удалить из файла все ЧИСЛА меньше заданного. Соответственно у нас два файла 1 и 2 txt, и во втором редактировынный первый)))
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.11.2012, 01:47     Удалить из файла все числа меньше заданного
Посмотрите здесь:

Удалить из бинарного файла, в котором записаны целые числа все четные элементы C++
Удалить из бинарного файла, в котором записаны целые числа все четные элементы. C++
C++, напечатать все строки, длина которых меньше заданного числа C++
дана последовательность целых чисел заменить все элементы меньше заданного числа этим числом C++
C++ Определить ближайшее число меньше заданного числа N
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
13.11.2012, 03:05     Удалить из файла все числа меньше заданного #2
Числа целые?
nomal
0 / 0 / 0
Регистрация: 13.11.2012
Сообщений: 4
13.11.2012, 03:11  [ТС]     Удалить из файла все числа меньше заданного #3
да, целые) забыл
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
13.11.2012, 03:20     Удалить из файла все числа меньше заданного #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
#include <iostream>
#include <fstream>
using namespace std;
int main(){
  int c, x;
  ifstream inputFile("1.txt");
  ofstream outputFile("2.txt");
  if (inputFile.is_open())
  {
    cout<<"Input bound:";
    cin>>x;
    while ( inputFile.good() )
    {
      inputFile>>c;
      if (c>x) outputFile<<c<<" ";
    }
     inputFile.close();
     outputFile.close();
  }
 
  else cout << "Unable to open file";
  return 0;
}
nomal
0 / 0 / 0
Регистрация: 13.11.2012
Сообщений: 4
13.11.2012, 03:33  [ТС]     Удалить из файла все числа меньше заданного #5
в исходном файле у меня "12scdv23frrv333", и когда я ввожу input bound = 33, то по сути во втором файле должно остаться "scdvfrrv333", а он пуст((
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
13.11.2012, 03:46     Удалить из файла все числа меньше заданного #6
1) ты не говорил, что помимо чисел в файле есть буквы
2) какой тогда критерий разделения на числа?
с чего ты взял, что "12scdv23frrv333" это 12, 23 и 333 ?
может это 1, 2, 23, 33 и 3?
3) мой входной файл 1 2 3 4 5 6 7 8 9 10 9 8 7 6 5 4 3 2 1
выходной - такой как надо
nomal
0 / 0 / 0
Регистрация: 13.11.2012
Сообщений: 4
13.11.2012, 03:51  [ТС]     Удалить из файла все числа меньше заданного #7
да, я много чего не учел конечно... в исходном файле цифры и буквы, а считывание числа именно пока цифры не кончаются , => это точно 12 23 и 333
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.11.2012, 04:44     Удалить из файла все числа меньше заданного
Еще ссылки по теме:

Найти все дроби и их количество, знаменатель которых меньше заданного числа C++
C++ Дана последовательность из целых чисел. Все элементы меньше заданного числа, увеличить в два раза
Функции. Получить все совершенные числа меньше заданного C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
13.11.2012, 04:44     Удалить из файла все числа меньше заданного #8
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
#include <iostream>
#include <fstream>
#include <locale>
using namespace std;
int main(){
  int i, x;
  char c;
  ifstream inputFile("1.txt");
  ofstream outputFile("2.txt");
  if (inputFile.is_open())
  {
    
    cout<<"Input bound:";
    cin>>x;
    while ( inputFile.good() )
    {
      inputFile>>c;
      i=0;
      while(isdigit(c)&&inputFile.good()){
          i=i*10+(c-'0');
          inputFile>>c;
      }
      if (i>x) outputFile<<i<<" ";
    }
     inputFile.close();
     outputFile.close();
  }
 
  else cout << "Unable to open file";
  return 0;
}
Добавлено через 16 минут
Или даже так
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
#include <iostream>
#include <fstream>
#include <locale>
using namespace std;
int main(){
  int i, x;
  char c;
  ifstream inputFile("1.txt");
  ofstream outputFile("2.txt");
  if (inputFile.is_open())
  {
    
    cout<<"Input bound:";
    cin>>x;
    while ( inputFile.good() )
    {
      inputFile>>c;
      i=0;
      while(isdigit(c)&&inputFile.good()&&(i<x)){
          i=i*10+(c-'0');
          inputFile>>c;
      }
      if (i>x) {
        outputFile<<i;
        while(isdigit(c)&&inputFile.good()) {
          outputFile<<c;
          inputFile>>c;
          }
           outputFile<<" ";
    }
     inputFile.close();
     outputFile.close();
  }
 
  else cout << "Unable to open file";
  return 0;
}
Так он записывает в файл числа даже значительно большие предельных значений для int
Yandex
Объявления
13.11.2012, 04:44     Удалить из файла все числа меньше заданного
Ответ Создать тему
Опции темы

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