Write a program that lets you know if you can have a key or not, based on your role at the school.
First ask for the user’s role at the school. They can be a student, administrator, or a teacher. (And remember that capitalization is important! ‘Student’ is not the same as ‘student’.)
Example 1: Administrator or Teacher
For example, if this was the input:
Are you an administrator, teacher, or student?: teacher
This should be the output:
Administrators and teachers get keys!
Example 2: Student
And if this was the input:
Are you an administrator, teacher, or student?: student
This should be the output:
Students do not get keys!
(Note: You should also be able to handle a situation where the user enters a value other than administrator, teacher or student and tell them they must be one of the three choices!)
Example 3: Other
If they input anything else:
Are you an administrator, teacher, or student?: secretary
This should be the output:
You can only be an administrator, teacher, or student!
#include <iostream>
#include <cstdlib> // для работы с функцией rand()
#include <ctime> // для работы с функцией time()
using namespace std;
const int N = 10; // размер массива
const int a = -30; // нижняя граница интервала
const int b = 30; // верхняя граница интервала
int* createArray(int n)
{
int* arr = new int[n]; // выделяем память под массив
// заполняем массив случайными числами
for (int i = 0; i < n; i++)
arr[i] = a + rand() % (b — a + 1);
return arr;
}
void filterArray(int* arr, int& n)
{
int i = 0;
while (i < n)
{
if (arr[i] % 3 == 0) // если элемент кратен 3
{
// сдвигаем все элементы справа от текущего на одну позицию влево
for (int j = i; j < n — 1; j++)
arr[j] = arr[j + 1];
n—; // уменьшаем размер массива
}
else
i++; // переходим к следующему элементу
}
}
int main()
{
srand(time(0)); // инициализируем генератор случайных чисел
int* arr = createArray(N); // создаем и заполняем массив
filterArray(arr, N); // удаляем элементы, кратные 3
// выводим
массив на экран
for (int i = 0; i < N; i++)
cout << arr[i] << » «;
cout << endl;
delete[] arr; // освобождаем выделенную память
return 0;
(
Обратите внимание, что в функции `filterArray` мы изменяем размер массива `n`, поэтому мы передаем его в функцию по ссылке.
Также обратите внимание, что функция `createArray` возвращает указатель на выделенную память, поэтому нужно освободить ее с помощью оператора `delete[]` в конце программы.)