#include <iostream>
#include <vector>
#include <cstdlib>
#include <ctime>
using namespace std;
int main()
{
setlocale(LC_ALL, "russian");
srand(time(0));
int n;
cout << "Введите количество элементов в массивах: ";
cin >> n;
if (n <= 0) {
cout << "Ошибка: размер массива должен быть больше 0" << endl;
return 1;
}
vector<int> mas(n);
vector<int> masiv(n);
vector<int> masresult(n);
char znak;
cout << "Введите +, -, * или /: ";
cin >> znak;
cout << "Первый массив:" << endl;
for (int i = 0; i < n; i++) {
mas[i] = rand() % 20001 - 10000;
cout << mas[i] << " ";
}
cout << endl;
cout << "Второй массив:" << endl;
for (int i = 0; i < n; i++) {
masiv[i] = rand() % 20001 - 10000;
cout << masiv[i] << " ";
}
cout << endl << endl;
for (int i = 0; i < n; i++) {
int a = mas[i];
int b = masiv[i];
int res = 0;
int ostatok = 0;
switch (znak) {
case '+':
res = a + b;
break;
case '-':
res = a - b;
break;
case '*':
res = a * b;
break;
case '/':
if (b == 0) {
cout << "Деление на 0 в элементе [" << i << "]" << endl;
res = 0;
ostatok = 0;
} else {
res = a / b;
ostatok = a % b;
}
break;
default:
cout << "Ошибка: неизвестная операция" << endl;
return 1;
}
// Ограничение результата
if (res > 10000) res = 10000;
if (res < -10000) res = -10000;
masresult[i] = res;
cout << "Результат [" << i << "] = " << masresult[i] << endl;
if (znak == '/')
cout << "Остаток = " << ostatok << endl;
}
return 0;
}