program z1;
var a: array [1..15] of real;
i, k, b: integer;
proizv: real;
begin
proizv:= 1;
a[1]:= 0.01;
a[2]:= -3;
a[3]:= 0;
a[4]:= 1.25;
a[5]:= -371;
a[6]:= 0.5;
a[7]:= -0.1;
a[8]:= 1.2;
a[9]:= -5;
a[10]:= -172.3;
a[11]:= 19783;
a[12]:= -2.7;
a[13]:= 43.51;
a[14]:= 0;
a[15]:= -0.02;
b:= -3;
k:= 0;
for i:=1 to 15 do
begin
if (a[i] <> 0) and (a[i] > b) then
begin
proizv:= proizv * a[i];
k:= k+1;
end;
end;
writeln('Количество чисел, подходящих условию: ', k);
writeln('Произведение чисел, подходящих условию: ', proizv);
end.
Объяснение:
На фото нарисована блок-схема, она немного криво сфоткана, надеюсь разберёшься. Если есть вопросы - задавай :)
Переделал программу с паскаля на С++
#include <iostream>
#include <cstdlib>
#include <time.h>
using namespace std;
int main(){
srand(time(0));
system("chcp 1251 > nul");
int q,x,y,z,a,b,c,d,e;
double w;
cout << "Введите x: ";
cin >> x;
cout << "Введите y: ";
cin >> y;
cout << "Введите z: ";
cin >> z;
a = x*y*z;
b = 3*z*x;
c = 2*(x+y+z);
d = max(a,b);
e = max(b,c);
q = max(e,d);
cout << "Максимум: " << q<< endl;
w = min((3*x*y*z),(q/2));
cout << "Максимум: " << w << endl;
return 0;
}