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

перезаписать в новый файл нечетные числа - C++

Восстановить пароль Регистрация
 
Настя_
0 / 0 / 0
Регистрация: 13.03.2011
Сообщений: 22
10.02.2013, 19:46     перезаписать в новый файл нечетные числа #1
Помогите пожалуйста. Нужно на основе данного файла, в котором содержатся целые числа, создать новый, где будут перезаписаны нечетные числа из первого. желательно fstream'ом
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.02.2013, 19:46     перезаписать в новый файл нечетные числа
Посмотрите здесь:

Дан файл F, компонентами которого являются целые числа. Получить в файле G все нечетные числа, входящие в файл F. Числа в файле G должны следовать C++
Переписать в файл М все удвоенные нечетные числа. C++
Написать программу, копирующую все нечетные числа из исходного файла в новый файл C++
C++ Записать в файл g все четные числа файла f, а в файл n-все нечетные
C++ Создать новый массив, учитывающий рост новых учеников и перезаписать исходный файл
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
abit
 Аватар для abit
260 / 259 / 33
Регистрация: 03.02.2013
Сообщений: 709
10.02.2013, 19:51     перезаписать в новый файл нечетные числа #2
файлы бинарные или простой текст?
Настя_
0 / 0 / 0
Регистрация: 13.03.2011
Сообщений: 22
10.02.2013, 19:57  [ТС]     перезаписать в новый файл нечетные числа #3
текст
abit
 Аватар для abit
260 / 259 / 33
Регистрация: 03.02.2013
Сообщений: 709
10.02.2013, 20:01     перезаписать в новый файл нечетные числа #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
#include <iostream>
#include <fstream>
 
using namespace std;
 
int main()
{
 
   ifstream input("input.txt");
   ofstream output("output.txt");
   int i;
   
   do
   {
       input>>i;
       if ((input)&&(i%2!=0)) output<<i<<" ";
   }
   while (!input.eof());
   
   input.close();
   output.close();
   
   return 0;
}
input.txt - входной файл с числами
output.txt - выходной
Настя_
0 / 0 / 0
Регистрация: 13.03.2011
Сообщений: 22
10.02.2013, 20:24  [ТС]     перезаписать в новый файл нечетные числа #5
объясните пожалуйста 16 строку. и еще вопрос: можно ли сделать проверку на нечетность с помощью odd?тогда что нужно поменять?
abit
 Аватар для abit
260 / 259 / 33
Регистрация: 03.02.2013
Сообщений: 709
10.02.2013, 20:39     перезаписать в новый файл нечетные числа #6
Цитата Сообщение от Настя_ Посмотреть сообщение
объясните пожалуйста 16 строку. и еще вопрос: можно ли сделать проверку на нечетность с помощью odd?тогда что нужно поменять?
эмм... что за odd? в С++ нет никаких odd...
может это какая-то ваша собственная функция?

разбираю 16 строчку:
C++
1
if ((input)&&(i%2!=0)) output<<i<<" ";
if я думаю понятно - выполнить output<<i<<" "; если истинно выражение

(input)&&(i%2!=0)

выражение состоит из двух частей
(input) говорит что мы прочитали не конец файла (^Z в Windows, ^D в Unix-системах)
i%2 находит остаток от деления прочитанного числа i на два т.е. если число чётно - остаток всегда будет 0, если нечётно - 1
!=0 говорит что нас итересуют только нечётные варианты, т.е. когда остаток от деление на 2 не равен 0
&& - это логическое И
смысл таков -
сперва компьютер проверит что, то, что мы прочитали в i - не конец файла, а какое-то число, потом если это так
он проверит делится ли оно на 2 с остатком не равным нулю (а у %2 только два остатка - 0 и 1), если так - то оно нечётное и можно записывать в выходной поток
Yandex
Объявления
10.02.2013, 20:39     перезаписать в новый файл нечетные числа
Ответ Создать тему
Опции темы

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