需要使用随机数生成器在文件中生成 10 个数字。找到文件中最大和最小数字的总和。从 0 到 30 的数字。
问题:
#include <iostream>
#include <cstdlib>
#include <time.h>
#include <fstream>
using namespace std;
int main()
{
setlocale(LC_ALL, "ru");
srand(time(NULL));
int res = 0, i, min, max, num;
ofstream File("doc.txt");
if (!File) {
cout << "Ошибка: файл не найден" << endl;
return 1;
}
for (i = 0; i < 10; i++) {
num = rand() % 30;
File << num;
}
File.close();
ifstream File2("doc.txt");
int get, k;
int A[1000];
if (!File2) {
cout << "Файл не найден!" << endl;
}
else {
k = 0;
while (File2 >> get) {
A[k++] = get;
}
max = A[0];
min = A[0];
for (i = 0; i < 10; i++) {
if (max < A[i])
max = A[i];
if (min > A[i])
min = A[i];
}
cout << "Максимальное значение массива: " << max << endl;
cout << "Минимальное значение массива: " << min << endl;
res = max + min;
}
File2.close();
cout << "Результат: " << res << endl;
system("pause");
return 0;
}
并且您不想分隔显示的数字,例如,用空格?还是从新的线路?而不是将它们雕刻成一个大数字?
比方说
如果你不依赖“魔常数”10,而是这样做:
错误将立即显而易见......
这就是为什么您需要将读取的内容存储在数组中的原因,目前尚不清楚。您需要做的就是在这里:
是的,您在写入文件时也犯了一个错误(请参阅
Harry
}