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

Работа с файлами (умножить массив на 5, и полученный результат сохранить в файле) - C++

Восстановить пароль Регистрация
 
Hunter9494
 Аватар для Hunter9494
21 / 18 / 3
Регистрация: 29.10.2012
Сообщений: 154
05.09.2013, 22:16     Работа с файлами (умножить массив на 5, и полученный результат сохранить в файле) #1
Дан текстовой файл в котором находиться массив из чисел. Нужно умножить этот массив на 5, и полученный результат сохранить в другом файле.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.09.2013, 22:16     Работа с файлами (умножить массив на 5, и полученный результат сохранить в файле)
Посмотрите здесь:

C++ как сохранить полученный результат в блокноте
Динамический массив и работа с файлами C++
C++ Работа с файлами и одномерный массив
Вычислить y= k14− 18 k для 6 значений k, вводимых с клавиатуры. Результат вычислений записать в массив. Полученный массив отсортировать по возрастанию C++
Работа с файлами: как найти слово в отдельном текстовом файле? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
h_wolf
 Аватар для h_wolf
9 / 9 / 1
Регистрация: 24.01.2013
Сообщений: 211
05.09.2013, 23:24     Работа с файлами (умножить массив на 5, и полученный результат сохранить в файле) #2
Наброски кода есть?
DiffEreD
 Аватар для DiffEreD
1420 / 757 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
05.09.2013, 23:51     Работа с файлами (умножить массив на 5, и полученный результат сохранить в файле) #3
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>
#include <algorithm>
#include <functional>
#include <iterator>
 
using input = std::istream_iterator<int>;
using output = std::ostream_iterator<int>;
 
int main()
{
   const int val = 5;
 
   std::fstream ifs("D:/file.txt");
   if(ifs.is_open())
   {
      std::ofstream ofs("D:/out.txt");
      std::transform(input(ifs), input(), output(ofs, " "), std::bind2nd(std::multiplies<int>(), val));
   }
   else std::cerr << "Error opening file.";
 
   std::cout << "\nDone" << std::endl;
   return 0;
}
GoldenChild
28 / 28 / 4
Регистрация: 12.06.2013
Сообщений: 65
06.09.2013, 00:00     Работа с файлами (умножить массив на 5, и полученный результат сохранить в файле) #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
#include <fstream>
#include <iostream>
#include <string>
 
#define NMAX 1000
 
using namespace std;
 
void main() {
    string in, out;
    int k, count = 0;
    int a[NMAX];
    cout << "Enter file to read (filename.txt): \n"; //указываем файл, откуда читать массив виду input.txt
    cin >> in;
    ifstream fin(in);//открываем файл
    while (fin >> k) {
        a[count++] = k * 5; //Пока не дойдем до конца файла, читаем и записуем в массив исходные числа, умноженые на 5 и считаем их кол-во, для подальшей записи
    }
    fin.close();
    cout << "Enter file to write (filename.txt): \n";//Указываем куда писать новый массив
    cin >> out;
    ofstream fout(out);
    for (int i = 0; i < count; i++) {
        fout << a[i] << " ";    //Записуем в файл
    }
    fout.close();
    system("pause");
}
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
06.09.2013, 00:09     Работа с файлами (умножить массив на 5, и полученный результат сохранить в файле) #5
GoldenChild, количество чисел в файле неизвестно, если массива не хватит? Смысл чтения в массив, если можно сразу умножать считанное число и записывать в другой файл?
GoldenChild
28 / 28 / 4
Регистрация: 12.06.2013
Сообщений: 65
06.09.2013, 00:16     Работа с файлами (умножить массив на 5, и полученный результат сохранить в файле) #6
Цитата Сообщение от alsav22 Посмотреть сообщение
GoldenChild, количество чисел в файле неизвестно, если массива не хватит? Смысл чтения в массив, если можно сразу умножать считанное число и записывать в другой файл?
Да, хорошее замечание, я и не подумал что массива может не хватить(
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <fstream>
#include <iostream>
#include <string>
 
using namespace std;
 
void main() {
    string in, out;
    int k;
    cout << "Enter file to read (filename.txt): \n"; //Открываем файл для чтения
    cin >> in;
    ifstream fin(in);
    cout << "Enter file to write (filename.txt): \n"; //Открываем файл для записи
    cin >> out;
    ofstream fout(out);
    while (fin >> k) { //Читаем элемент
        fout << k * 5 << " "; //Записываем новый, в пять раз больше
    }
    fin.close();    
    fout.close();
    system("pause");
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.09.2013, 00:16     Работа с файлами (умножить массив на 5, и полученный результат сохранить в файле)
Еще ссылки по теме:

C++ С++ работа с файлами (поиск и вывод чисел в файле)
C++ Работа с файлами (подсчитать количество слов в файле, содержащих нечетное количеством букв)
C++ сколько в предложении слов, состоящих не более, чем из n букв. Исходное предложение и полученный результат вывести на печать

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

Или воспользуйтесь поиском по форуму:
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
06.09.2013, 00:16     Работа с файлами (умножить массив на 5, и полученный результат сохранить в файле) #7
Так намного лучше.
Yandex
Объявления
06.09.2013, 00:16     Работа с файлами (умножить массив на 5, и полученный результат сохранить в файле)
Ответ Создать тему
Опции темы

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