// pascalabc.net 3.3.5, сборка 1662 (29.04.2018)
begin
println($'среднее арифметическое : {arrrandominteger(40,0,20).println.where(e-> e.isodd).defaultifempty.average}')
end.
// freepascal
var
a: array[0..39] of integer;
i, c, s: integer;
begin
randomize;
for i : = 0 to 39 do
begin
a[i] : = random(21);
write(a[i],' ');
if (a[i] mod 2 < > 0) then
begin
inc(c);
s : = s + a[i];
end;
end;
writeln;
if c< > 0
then writeln('среднее арифметическое: ',s/c)
else writeln(0);
end.
// c++
#include < iostream>
#include < ctime>
using namespace std;
int main()
{
setlocale(lc_all, "russian");
int a[40];
double c = 0, s = 0;
srand(time(0));
for (int i = 0; i < 40; i++) {
a[i] = rand() % 21;
cout < < a[i] < < " ";
if (a[i] % 2 ! = 0) {
c++;
s += a[i];
}
}
if (c! =0) cout < < "\nсреднее арифметическое = " < < s / c < < endl;
else cout < < "\nсреднее арифметическое = 0 " < < endl;
system("pause");
return 0;
}
Поделитесь своими знаниями, ответьте на вопрос:
На оператора выбора. составить программу к : для целого числа k от 1 до 99 напечатать фразу "мне k лет", учитывая что может быть "лет", "год" , "года"
uses crt; var r: byte; beginreadln(к); write('мне ',к); if r in [5..20] then write(' лет') else case к mod 10 of 1: write(' год'); 2..4: write(' года'); 5..9,0: write(' лет'); else
writeln('error'); end; end.
через case оч хорошо всё получается)
или вот так по подробнее:
const st='мне'; var k: byte; beginrepeat write('введите k (от 1 до 99): '); readln(k); until k in [1..99]; case k of11..20: writeln(st,' ',k,' лет'); elsebegin case k mod 10 of 1: writeln(st,' ',k,' год'); 2..4: writeln(st,' ',k,' года'); 5..9,0: writeln(st,' ',k,' лет'); end; end; end; readlnend.