Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- using std::cin;
- using std::cout;
- using std::cerr;
- using std::ifstream;
- const char* ERROR_CIN = "Ошибка ввода";
- const char* ERROR_FILE = "Ошибка открытия файла";
- const char* ERROR_FILE_FIRST_LINE = "Ошибка на первой строке файла должно быть число";
- const char* ERROR_FILE_LINE = "Ошибка в строке файла должно быть число";
- const char* ERROR_LEN = "Неверное кол-во элементов";
- void intArray(int* Array, const int nArray)
- {
- for (int i = 0; i < nArray; i++)
- {
- cin >> Array[i];
- if (!cin)
- {
- throw ERROR_CIN;
- }
- }
- }
- void outArray(int* Array, const int nArray)
- {
- for (int i = 0; i < nArray; i++)
- {
- cout << Array[i] << "\n";
- }
- }
- bool isOrderedArray(const int* Array, int nElem)
- {
- if (sizeof(Array) / sizeof(*Array) < nElem)
- {
- throw ERROR_LEN;
- }
- bool temp = true;
- for (int i = 1; i < nElem; i++)
- {
- if (Array[i - 1] > Array[i])
- {
- bool temp = false;
- }
- }
- return temp;
- }
- //void permutationArray(int* Array, const int nArray) {
- // if (nArray % 2 == 0)
- // {
- // for (int i = 0; i < nArray; i++)
- // {
- //
- // }
- // }
- //}
- //инд задание
- int maxArray(int* Array, const int nArray)
- {
- int i = 0;
- int min = std::numeric_limits<int>::max();
- int count = 0;
- int pos = 0;
- if (nArray < 2)
- {
- throw ERROR_LEN;
- }
- for (int i = 0; i < nArray; i++)
- {
- if (min >= Array[i]) {
- min = Array[i];
- pos = i;
- }
- }
- for (int i = pos; i > 0; i--)
- {
- if (Array[i] > 0)
- {
- count++;
- }
- }
- return count;
- }
- int main()
- {
- setlocale(LC_ALL, "");
- try
- {
- //фикс массив
- const int nMas = 10;
- int mas[nMas]{0};
- cout << "Введите 10 чисел в сатический массив \n";
- for (int i = 0; i < nMas; i++)
- {
- if (!cin)
- {
- throw ERROR_CIN;
- }
- cin >> mas[i];
- }
- cout << maxArray(mas, nMas);
- //динамический массив
- cout << "\nВведите длину динамического массива и его значения";
- int nMasDyn = 0;
- cin >> nMasDyn;
- int* masDyn = new int[nMasDyn];
- for (int i = 0; i < nMasDyn; i++)
- {
- if (!cin)
- {
- throw ERROR_CIN;
- }
- cin >> masDyn[i];
- }
- cout << maxArray(masDyn, nMasDyn);
- //массивы из файла
- cout << "\nВывод массива из файла";
- ifstream in;
- in.open("text.txt");
- if (!in)
- throw ERROR_FILE;
- int nMasCount = 0;
- in >> nMasCount;
- if (!in)
- throw ERROR_FILE_FIRST_LINE;
- int nMasFile = 0;
- for (int i = 0; i < nMasCount; i++)
- {
- in >> nMasFile;
- }
- }
- catch(const char* error)
- {
- cerr << error << "\n";
- return -1;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement