Если не видно на скриншоте
Program v1;
var a:array[0..30]of integer;
i,min,max,n,t:integer;
begin
write('Введите размерность матрицы: '); readln(n);
randomize;
for i:=1 to n do a[i]:=random(100)-50;
write('Значение матрицы: ');
for i:=1 to n do write(a[i]:5); writeln;
max := 1;
min := 1;
t:=0;
for i := 1 to n do
begin
if a[i] > a[max] then
max := i
else
if a[i] < a[min] then
min := i;
end;
for i := 1 to n do
t:=a[min]*a[max];
WriteLn('Среднее арифметическое: ', (a[max] + a[min])/2 ,' ' ,'Произведение максимального элемента на минимальный равно:', t);
end.
Проверяем в конструкторе значения на данные признаки, если мы получаем ошибку инициализации, то даем переменным нулевые значения, дабы избежать ошибок в других функция. (грубо говоря, чтобы вся программа не легла из-за конструктора, благодаря выводу текстового сообщения мы будем знать где конкретно ошибка)
#include <iostream>
#include <cmath>
class Progression {
private:
float first;
int second;
public:
Progression(float a0, int d) {
if (a0 == round(a0)) {
std::cout << "Инициализация первого члена прогрессии с конструктора не удалась, первый элемент не должен быть целыми числом!\n";
this->first = 0;
}
else {
this->first = a0;
std::cout << "Инициализация первого члена прогрессии успешно!\n";
}
if (d < 0) {
std::cout << "Инициализация разности прогрессии с конструктора не удалась, разность должна быть положительной!\n";
this->second = 0;
}
else {
this->second = d;
std::cout << "Иницализация разности успешно!\n";
}
}
float operator()(int j){
return this->first + this->second * (j - 1);
}
};
signed main() {
setlocale(LC_ALL, "Rus");
float a;
int b;
std::cout << "Введите значение a0 и d: ";
std::cin >> a >> b;
Progression p1(a, b);
std::cout << p1(2);
return 0;
}
обложка
листы
итд