1) Первое задание
Program Test;
const size = 18;
Var a: array[1..size] of integer; i, k: integer;
Begin
Randomize;
i := 1;
k := 0;
while i <= size do
begin
a[i] := Random(0, 29);
i := i + 1;
end;
i := 1;
while i <= size do
begin
if (a[i] > 15) then
k := k + 1;
i := i + 1;
end;
i := 1;
while i <= size do
begin
Writeln(i, ') ', a[i]);
i := i + 1;
end;
Writeln();
Writeln('k = ', k);
End.
2) 2 задание
Program Test;
const size = 18;
Var a: array[1..size] of integer; i, s: integer;
Begin
Randomize;
i := 1;
s := 0;
while i <= size do
begin
a[i] := Random(0, 29);
i := i + 1;
end;
i := 1;
while i <= size do
begin
if (a[i] mod 2 = 0) then
s := s + a[i];
i := i + 1;
end;
i := 1;
while i <= size do
begin
Writeln(i, ') ', a[i]);
i := i + 1;
end;
Writeln();
Writeln('s = ', s);
End.
P.S. На фотографии не видно часть второго задания. Скорее всего там написано, что нужно посчитать сумму элементов массива с четным значением. Такую программу я и писал.
#include <iostream>
#include <string>
using namespace std;
int main()
{
string st;
cout <<"Введите строку; ";
getline(cin, st);
for(auto it=st.begin(); it!=st.end(); ++it)
{
switch(*it)
{
case 'a': { *it='b'; break; }
case 'b': { *it='a'; break; }
case 'A': { *it='B'; break; }
case 'B': { *it='A'; break; }
}
}
cout <<"Измененная строка: " <<st << endl;
return 0;
}
Результат работы программы на скриншоте.
F=A+¬B*¬(A+B)
A B ¬B ¬(A+B) ¬B*¬(A+B) F
0 0 1 1 1 1
0 1 0 0 0 0
1 0 1 0 0 1
1 1 0 0 0 1