Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.03.2010, 19:54   #1
xnise
Пользователь
 
Регистрация: 23.11.2009
Сообщений: 26
По умолчанию Работа с файлами в С++

Дорого времени суток уважаемые форумчане! У меня есть такое задание:

Сформировать текстовый файл, записав в него 20 случайных чисел от -10 до +10, по одному на строке.
Используя созданный выше файл как входной, сформировать выходной файл по правилу:
Записать выходной файл, разделив все нечетные по абсолютной величине числа на среднее арифметическое

Это задание я решал так:

Код:
#include <fstream>
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
int main()
	{ofstream fout;
const int n=20; int i, a[n], sum=0, kolVo=0; float sr;
fout.open ("D:\\numbers1.txt");
srand ((unsigned int) time(0));
for (i=0; i<n; i++)
	{a[i]=rand()%(n+1)-10;
		fout<<a[i]<<"\n";}
fout.close ();
	ifstream fin;
	fin.open ("D:\\numbers1.txt");
	for (i=0; i<n; i++) 
	{fin>>a[i]; if (a[i]%2!=0) sum=sum+a[i]; kolVo++;}
fin.close ();
sr=(float)sum/kolVo;
	ofstream fout;
fout.open ("D:\\numbers2.txt");
for (i=0; i<n; i++)
	{if (a[i]%2!=0) fout<<a[i]/sr <<"\n";}
fout.close ();
return 0;}
Проблема в том что последнем fout компилятор пишет ошибку "преопределение". Как избавиться от этой ошибки, может кто подскажет? А может я вообще неправильно решаю?
xnise вне форума Ответить с цитированием
Старый 15.03.2010, 20:00   #2
Cpluser
Форумчанин
 
Аватар для Cpluser
 
Регистрация: 16.02.2009
Сообщений: 555
По умолчанию

А попробуйте так
Код:
ofstream fout("D:\\numbers1.txt");
Cpluser вне форума Ответить с цитированием
Старый 15.03.2010, 20:16   #3
xnise
Пользователь
 
Регистрация: 23.11.2009
Сообщений: 26
По умолчанию

Добавилась еще одна ошибка: "<< недопустимо для класс"
а в строке с "переопределение" стало "переопределение; множественная инициализация"
xnise вне форума Ответить с цитированием
Старый 15.03.2010, 21:01   #4
Грымзик
Пользователь
 
Регистрация: 17.09.2009
Сообщений: 40
По умолчанию

Зачем два раза fout определять? Сотрите вторую ofstream fout; и все будет компилиться.
Грымзик вне форума Ответить с цитированием
Старый 15.03.2010, 21:29   #5
xnise
Пользователь
 
Регистрация: 23.11.2009
Сообщений: 26
По умолчанию

Большое спасибо за ответ. Все получилось прекрасно
xnise вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с файлами jimmywoodes Общие вопросы C/C++ 1 25.01.2010 00:08
Работа с файлами. Си jimmywoodes Помощь студентам 1 24.01.2010 22:03
Работа с файлами Zenit10 Помощь студентам 2 19.01.2008 09:59
Работа с файлами DJ Socol Win Api 1 17.07.2007 09:18
Работа с файлами ShVad Общие вопросы Delphi 4 03.02.2007 10:43