求解一道三级网络C的上机题,要求用C++写出

来源:百度知道 编辑:UC知道 时间:2024/05/10 05:43:58
题如下:请编写一个函数num(int m,int k,int xx[]),该函数的功能是:将大于整数m且仅靠m的k个素数存入数组xx传回。
然后调用函数readwriteDat(),从int.dat文件中读取10组数据,分别得出结果,且把结果输出到文件out.dat中。
部分程序已给出。
例如:若输入17 5,则应输出:19 23 29 31 37。

因为我学的是C++,看见C给出的部分代码就头疼,所以请高手帮忙用C++写一遍,希望代码清晰易懂,下面是这题给出的部分代码,请帮忙用C++写出来
#include <conio.h>
#include <stdio.h>
void readwriteDat();
void num(int m, int k, int xx[])
{

}
main()
{
int m, n, xx[1000];
printf("\nPlease enter two integers:");
scanf("%d%d", &m, &n);
num(m, n, xx);
for (m=0; m<n; m++)
printf("%d ", xx[m]);
printf("\n");
readwriteDat();
}
void readwriteDat()
{
int m, n, xx[1000], i;
FILE *rf, *wf;
rf = fopen("in.dat", "r");
wf = fopen("out.dat", "w");
for (i=0; i<10; i++)
{
fscanf(rf, "

#define MAXSIZE 100
class ReadPrim
{

public:
ReadPrim(){}
int num(int iData,int iCount,int iArray[]);
void readwriteDat();

};
int ReadPrim::num(int iData,int iCount,int iArray[])
{
int i = 0,j = 0,iSelfData,iNum = 0;
for( i = 1;i <= iCount;i++)
{
iSelfData = iData + i;
for(j = 1;j<iSelfData;j++)
{
if(iSelfData % i == 0)
{
iNum++;
}
if(2 == iNum)
{
iArray[i-1] = iSelfData;
}
}
}
return sizeof(iArray)/sizeof(int);
}

void ReadPrim::readwriteDat()
{

int m, n, xx[1000], i;
FILE *rf, *wf;
rf = fopen("in.dat", "r");
wf = fopen("out.dat", "w");
for (i=