вот 3 варианта решения задачи:
1. с временной целочисленной переменной вместо булеан.
var
a, f : integer;
begin
write('введите число: ');
readln(a);
while a div 10 > 0 do begin
if (a mod 10) >= ((a mod 100) div 10) then f := 1;
a := a div 10;
end;
if f = 0 then writeln('ДА') else writeln('НЕТ');
end.
2. с строчной переменной которой присваивается текст ответа.
var
a : integer;
f : string := 'ДА';
begin
write('введите число: ');
readln(a);
while a div 10 > 0 do begin
if (a mod 10) >= ((a mod 100) div 10) then f := 'НЕТ';
a := a div 10;
end;
writeln(f);
end.
3. без дополнительных переменных но с оператором break.
var
a : integer;
begin
write('введите число: ');
readln(a);
while a div 10 > 0 do begin
if (a mod 10) >= ((a mod 100) div 10) then begin
writeln('НЕТ');
break;
end;
a := a div 10;
if a < 10 then writeln('ДА');
end;
end.
a = [float(input()) for i in range(20)]
pr = 0
ch = 0
srar = sum(a)/len(a)
for i in a:
if i >0: pr *=i
if i>srar: ch+=1
print(f"произведение положительных - {pr}, \nколичество элементов массива, значения которых меньше среднего арифметического данного массива - {ch}")
#include <iostream>
#include <vector>
int main(){
vector<double> a(20);
for (int i=0; i<20; i++) std::cin >> a[i];
double pr=0, srar=0, temp=0;
int ch=0;
for (int i=0; i<20; i++) temp+=a[i];
srar = temp/a.size();
for (int i=0; i<20; i++){
if (a[i] > 0) pr*=a[i];
if (a[i] > srar) ch++;
}
std::cout>> pr >> " " ch;
Не тестил, но должно работать (питон, c++)