Создать объект, который обрабатывает массив целых чисел не более 10 элементов
Скачать 135.91 Kb.
|
Постановка задачи Создать объект, который обрабатывает массив целых чисел не более 10 элементов. Количество элементов определяются в момент конструирования объекта. Объект обладает следующей функциональностью: - в конструкторе считывает количество элементов массива, выводит количество элементов; - считывает элементы массива; - выводит элементы массива; - разворачивает последовательность элементов массива. Написать программу, которая: 1. Создает объект и в конструкторе считывает количество элементов массива; 2. Считывает элементы массива; 3. Выводит значения элементов массива согласно исходной последовательности; 4. Разворачивает элементы массива; 5. Выводит значения элементов массива согласно новому их порядку следования. Описание входных данных Первая строка: целое число в десятичном формате. Вторая строка: последовательность целых чисел в десятичном формате разделенных пробелом. Описание выходных данных Первая строка: N = «количество элементов» Вторая строка (исходный порядок следования элементов): Значения элементов массива, значение каждого элемента занимает 5 позиции, выравнивание по правому краю. Третья строка (порядок следования элементов после разворота): Значения элементов массива, значение каждого элемента занимает 5 позиции, выравнивание по правому краю. 3 4 7 Метод решения Используем потоки ввода и вывода cin и cout. setw задает ширину поля из библиотеки iomanip Объявление класса MasReader Описание класса MasReader Свойства Имеется целое N, которое хранит значение количества элементов и массив arr из 10 целых элементов Методы 1.Конструктор считывает и выводит количество элементов массива. 2.readerMas() Считывает массив 3.writeMas() Выводит массив 4.masReplacer() Разворачивает массив Описание алгоритма Функция: main Функционал: Основная программа Параметры: Нет Возвращаемое значение: int, код возврата 4 № Предикат Действия № перехода Комментарий 1 Создаем объект класса MasReader 2 2 Считывает массив 3 3 Вывод исходного массива 4 4 Разворот массива 5 5 Вывод измененного массива ∅ Класс объекта: MasReader Модификатор доступа: public Метод: masReplacer Функционал: Разворачивает элементы массива Параметры: Нет Возвращаемое значение: нет № Предикат Действия № перехода Комментарий 1 Разворачивает элементы массива ∅ Класс объекта: MasReader Модификатор доступа: public Метод: readerMas Функционал: Считывает массив с клавиатуры Параметры: нет Возвращаемое значение: нет № Предикат Действия № перехода Комментарий 1 Считывает элементы массива с клавиатуры ∅ Класс объекта: MasReader Модификатор доступа: public Метод: writeMas Функционал: Выводит элементы массива Параметры: нет Возвращаемое значение: нет 5 № Предикат Действия № перехода Комментарий 1 Выводит элементы массива ∅ Класс объекта: MasReader Модификатор доступа: public Метод: Конструктор Функционал: Считывает и выводит количество элементов массива Параметры: нет Возвращаемое значение: нет № Предикат Действия № перехода Комментарий 1 Считывает и выводит количество элементов массива ∅ Блок-схема алгоритма 6 Код программы Файл main.cpp 7 #include #include #include "MasReader.h" int main() { MasReader mr; mr.readerMas(); mr.writeMas(); mr.masReplacer(); mr.writeMas(); return(0); } Файл MasReader.cpp #include "MasReader.h" MasReader::MasReader() { cin>>N; cout<< "N = " << N; } void MasReader::writeMas() { cout< cout< cout< void MasReader::masReplacer() { int c; for(int i = 0; i<(N/2);i++) { c=arr[i]; arr[i]=arr[N-1-i]; arr[N-i-1]=c; } } void MasReader::readerMas() { for(int i = 0; i < N; i++) { cin>>arr[i]; } } 8 Файл MasReader.h #ifndef MASREADER_H #define MASREADER_H #pragma once #include #include using namespace std; class MasReader { private: int arr[10]; int N; public: void writeMas(); void masReplacer(); void readerMas(); MasReader(); }; #endif Тестирование Входные данные Ожидаемые выходные данные Фактические выходные данные 3 1 2 3 N = 3 1 2 3 3 2 1 N = 3 1 2 3 3 2 1 5 1 2 3 4 5 N = 5 1 2 3 4 5 5 4 3 2 1 N = 5 1 2 3 4 5 5 4 3 2 1 9 10 |