Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int* inputIntArrayFromFile(wstring pathToFile, int min, int max, int size)
- {
- bool isInCorrect = false;
- int* array = new int[size];
- string nullElement = " ";
- ifstream inputFile(pathToFile);
- inputFile >> nullElement;
- for(int i = 0; i < size; i++)
- {
- if(inputFile.eof())
- {
- do {
- cout << "В файле не хватает элементов, ведите элемент номер " << i + 1 << " от " << min << " до " << max << ": ";
- isInCorrect = false;
- cin >> array[i];
- if (cin.fail() || array[i] < min || array[i] > max)
- {
- isInCorrect = true;
- cin.clear();
- while (cin.get() != '\n');
- cout << "Неверный ввод" << endl;
- }
- } while (isInCorrect);
- }
- else
- {
- isInCorrect = false;
- inputFile >> nullElement;
- try
- {
- array[i] = stoi(nullElement);
- }
- catch(const invalid_argument&)
- {
- isInCorrect = true;
- }
- if (array[i] < min || array[i] > max)
- {
- isInCorrect = true;
- }
- if (isInCorrect)
- {
- do {
- cout << "В файле не верно введен элемент " << i + 1 << ", введите его с клавиатуры от " << min << " до " << max << ": ";
- isInCorrect = false;
- cin >> array[i];
- if (cin.fail() || array[i] < min || array[i] > max)
- {
- isInCorrect = true;
- cin.clear();
- while (cin.get() != '\n');
- cout << "Неверный ввод" << endl;
- }
- } while (isInCorrect);
- }
- }
- }
- return array;
- }
Advertisement
Add Comment
Please, Sign In to add comment