begin Randomize; Writeln('Элементы массива'); k := 0; s := 0; for i := 1 to n do begin x[i] := Random(50); Write(x[i]:3); end; Writeln; Writeln('Элементы со значением в интервале [7;10]'); for i := 1 to n do if (x[i] >= 7) and (x[i] <= 10) then begin k := k + 1; s := s + x[i]; Write(x[i]:3) end; if k = 0 then Writeln('не найдены') else Writeln(#13#10, ' Элементов:', k, ', среднее арифметическое=', s / k:5:3) end.
#include <iostream>
#include <string>
using namespace std;
int main()
{
string w;
int b;
string arr;
getline(cin,w);
cin>>b;
cin.ignore();
getline(cin,arr);
if(w == "szyfruj")
{
for(int i=0; i<arr.size(); i++)
{
if(int(arr[i])>=97 && int(arr[i])<=122 || int(arr[i])>=65 && int(arr[i])<=90)
{
if(int(arr[i])>=97 && int(arr[i])<=122)
{
if(int(arr[i])+b>122) arr[i]-=26;
arr[i]+=b;
}
else
{
if(int (arr[i])+b>90) arr[i]-=26;
arr[i]+=b;
}
}
}
}
if(w == "odszyfruj")
{
for(int i=0; i<arr.size(); i++)
{
if(int(arr[i])>=97 && int(arr[i])<=122 || int(arr[i])>=65 && int(arr[i])<=90)
{
if(int(arr[i])>=97 && int(arr[i])<=122)
{
if(int(arr[i])-b<97) arr[i]+=26;
arr[i]-=b;
}
else
{
if(int (arr[i])-b<65) arr[i]+=26;
arr[i]-=b;
}
}
}
}
cout<<arr;
return 0;
}
Объяснение:
код на с++ для примера
пункт со сдвигом букв сам сделаешь
P. S. у меня на 5 они сдвигаются,
n = 40;
var
x: array[1..n] of integer;
i, k, s: integer;
begin
Randomize;
Writeln('Элементы массива');
k := 0; s := 0;
for i := 1 to n do
begin
x[i] := Random(50);
Write(x[i]:3);
end;
Writeln;
Writeln('Элементы со значением в интервале [7;10]');
for i := 1 to n do
if (x[i] >= 7) and (x[i] <= 10) then
begin
k := k + 1; s := s + x[i];
Write(x[i]:3)
end;
if k = 0 then Writeln('не найдены')
else Writeln(#13#10, ' Элементов:', k, ', среднее арифметическое=', s / k:5:3)
end.
Тестовое решение:
Элементы массива
24 33 36 29 12 7 5 36 3 48 40 40 46 6 10 23 33 3 38 48 29 37 11 40 44 16 17 18 34 38 33 39 9 0 41 37 42 2 40 31
Элементы со значением в интервале [7;10]
7 10 9
Элементов:3, среднее арифметическое=8.667