Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- using namespace std;
- enum ui { INT10 = 1, FLOAT, EXIT = 9 };
- template<typename A> A * create_array(A *, const size_t _size = 10);
- template<typename A> void input_array(A *, const size_t _size = 10);
- template<typename A> void show_array(A *, const size_t _size = 10);
- template<typename A> void delete_array(A *);
- void ru();
- int main() {
- ru();
- int * array_int = NULL;
- float * array_float = NULL;
- bool my_int = false, my_float = false;
- while (true) {
- wcout << endl << L" 1 - Создать целочисленный массив на 10 элементов"
- << endl << L" 2 - Создать массив типа float, заданного размера"
- << endl << L" 9 - Выход из программы" << endl
- << endl << L"\t\tВаш выбор: ";
- unsigned choice;
- cin >> choice;
- switch (choice) {
- case INT10:
- if (!my_int) {
- array_int = create_array(array_int);
- my_int = true;
- }
- wcout << L"\n Введите ваш массив:\n\n";
- input_array(array_int);
- wcout << L"\n Вы ввели:\n\n";
- show_array(array_int);
- break;
- case FLOAT:
- size_t size;
- if (!array_float) {
- wcout << L" Введите размер массива: ";
- cin >> size;
- array_float = create_array(array_float, size);
- my_float = true;
- }
- wcout << L"\n Введите ваш массив:\n\n";
- input_array(array_float, size);
- wcout << L"\n Вы ввели:\n\n";
- show_array(array_float, size);
- break;
- case EXIT:
- if (my_int) delete_array(array_int);
- if (array_float) delete_array(array_float);
- return 0;
- default:
- wcout << L"\a\tОшибка! Повторите ввод\n";
- }
- }
- }
- template<typename A> A * create_array(A * _array, const size_t _size) {
- _array = new A [_size];
- return _array;
- }
- template<typename A> void input_array(A * _array, const size_t _size) {
- for (size_t n = 0; n < _size; n++) {
- cout << "array[" << n << "] -> ";
- cin >> _array[n];
- }
- }
- template<typename A> void show_array(A * _array, const size_t _size) {
- for (size_t n = 0; n < _size; n++) cout << _array[n] << ' ';
- cout << endl;
- }
- template<typename A> void delete_array(A * _array) {
- delete[] _array;
- }
- void ru() {
- wcout.imbue(locale("rus_rus.866"));
- wcin.imbue(locale("rus_rus.866"));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement