C++问题 关于文件输入输出问题

#include<iostream>using namespace std ;
int main()
{
int n ;
cin >> n ;
int *s = new int[n] ;

int i , j ;
for( i= 0 ; i < n ; i ++)
{
cin >> s[i] ;
}
int max = 0 , max_num = s[0];
for( i = 0 ; i < n - 1 ; i ++ )
{
int current = 1 ;
for( j = i + 1 ; j < n ; j ++ )
{
if(s[i] == s[j])
{
current ++ ;
}

}
if( max < current )
{
max = current ;
max_num = s[i] ;
}

} cout << max_num << endl << max << endl ;
return 0 ;
}
把这个改成用文件输入输出的程序

第1个回答  2013-03-31
有必要么,重定向一下也就有文件输入和文件输出
比如你的程序文件名是123.exe,文件1是输出文件的文件名 文件2是输出文件的文件名
命令行上如下调用 :
123.exe < 文件1 > 文件2
第2个回答  2013-03-31
1、把iostream改成fstream
2、在using namespace std;后面加上下面两句话:
ifstream cin("文件名");
ofstream cout("文件名");
3、在return 0;前加上下面两句话:
cin.close();
cout.close();追问

我是在程序中直接定义的数组。。你帮我看看怎么改成用文件输入输出
对于给定的由n 个自然数组成的多重集S,编程计算S 的众数及其重数。
数据输入:
  输入数据由文件名为input.txt 的文本文件提供。文件的第1 行多重集S 中元素个数n;接下来的n 行中,每行有一个自然数。
结果输出:
  程序运行结束时,将计算结果输出到文件output.txt 中。输出文件有2 行,第1 行给出众数,第2 行是重数。

相似回答