Другие языки программирования и технологии

С++ ПРОГРАММИРОВАНИЕ. работа с файлами

Данная программа генерирует массив случайных чисел в диапазоне. от -20..82, нужно изменить код так чтобы программа сохраняла этот массив с текстовом документе.
#include
#include
#include

using namespace std;

int main()
{
setlocale(0, "rus");
cout << "Массив из 45 случайных чисел то -20 до 82: " << endl;
srand(time(NULL));
for(int i=1;i<45;i++) cout << rand() % 82 - 20 << " ";
cin.get();
return 0;
}
#include <iostream>
#include <iomanip>
#include <fstream>
#include <random>
#include <utility>
#include <string>
using namespace std;
short random_element(short left, short right);
void fill_collection(short* collection, const size_t size, const short left, const short right);
void print_collection(short* collection, const size_t size, const streamsize width);
bool save_collection(short* collection, const size_t size, string filename);
int main() {
const size_t size = 45;
short collection[size];
const short left = -20;
const short right = 82;
fill_collection(collection, size, left, right);
const streamsize width = 5;
print_collection(collection, size, width);
string filename = "collection.txt";
if (save_collection(collection, size, filename)) cout << "\tGood!\n";
cin.get();
}
short random_element(short left, short right) {
if (left > right) swap(left, right);
uniform_int_distribution<short> rand(left, right);
random_device rnd;
return rand(rnd);
}
void fill_collection(short* collection, const size_t size, const short left, const short right) {
for (size_t i = 0; i < size; ++i) collection[i] = random_element(left, right);
}
void print_collection(short* collection, const size_t size, streamsize width) {
for (size_t i = 0; i < size; ++i) cout << setw(width) << collection[i];
cout << endl;
}
bool save_collection(short* collection, const size_t size, string filename) {
ofstream save(filename);
if (!save.is_open()) exit(EXIT_FAILURE);
for (size_t i = 0; i < size; ++i) save << collection[i] << " ";
save.close();
return true;
}
МР
Миша Рыженин
75 189
Лучший ответ
В Linux просто перенаправьте вывод с консоли в файл, когда запускаете из командной строки. Можно ли так же просто в винде - не пробовал.
No Name ***** можно
ну во первых не -20..82, а -20..61
а во вторых, можно просто перенаправить вывод программы в файл
Антонида Тарасова я тупая, и уже в отчаянье и не могу ничего, ничего не получается
http:// kvodo. ru/urok-10-1-rabota-s-tekstovyimi-faylami-v-c.html

Дерзайте
ED
Ercan Demiroglu
4 069
freopen("file.txt", "w", stdout); <- В начале
fclose (stdout); <- В конце