Всем доброго времени суток,
Есть такая вот задачка:
Разработать программу для заполнения файла целыми значениями, вводимыми с клавиатуры, окончание ввода – пустая строка. Проверить, стоит ли в файле минимальное значение раньше максимального, и если это не так, поменять их местами.
Файл прога заполняет, значения считывает и присваивает в min и max, но о том, чтобы хотя бы просто поменять местами min с max'ом (Не учитывая их позиции) речи пока не идёт. Прога пытается это сделать, но выходит не то, что требуется.
Подскажите, пожалуйста, что и где не так?
Заранее спасибо.
#include "stdafx.h"
#include <clocale>
#include <iostream>
#include <fstream>
#include <string>
#include <cstdlib>
using namespace std;
int main()
{
setlocale(0, "");
int s = 0, s2 = 0, p, min = 0, max = 0;
string S , R;
fstream F;
F.open("Numbers.txt", ios::in | ios::out);
do {
int k = 0;
cout << "Введите число: ";
cin >> k;
F << k << endl;
s++;
} while (s < 5);
F.seekg(0, SEEK_SET);
while (!F.eof())
{
F >> p;
if (p < min) min = p;
if (p > max) max = p;
}
F.close();
F.open("Numbers.txt", ios::in | ios::out);
F.seekg(0, SEEK_SET);
while (s2 < 5)
{
F >> p;
if (p == min)
{
F.seekp(s2) << max;
s2++;
}
else if (p == max)
{
F.seekp(s2) << min;
s2++;
}
else s2++;
}
F.close();
system("pause");
return 0;
}
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники