1) var a:array [1..10] of integer; i:integer; begin writeln('Генерируем массив со случайными числами'); for i:=1 to 10 do begin a[i]:=random(100)+1; write(a[i],' '); end; writeln; writeln('Выполняем действие'); for i:=1 to 10 do begin if (i mod 2 = 0) then a[i]:=0 else a[i]:=a[i]*3; write(a[i],' '); end; readln; end.
2) var a:array [1..10] of integer; i,k:integer; begin writeln('Генерируем массив со случайными числами'); for i:=1 to 10 do begin a[i]:=random(100)+1; write(a[i],' '); end; writeln; writeln('Выполняем действие'); k:=a[1]; a[1]:=a[10]; a[10]:=k; for i:=1 to 10 do write(a[i],' '); readln; end.
Объясняю: создаёте переменную, лучше целочисленную (int foo), после чего можно либо перевести число в строку и найти сумму цифр путём сложения двух символов (sum = bar[0] - '0' + bar[1] - '0'), либо с остатка от деления (конечно, это не очень красиво, но если известно, что число двузначное, то можно так: sum = (foo / 10) + (foo % 10)). Дальше банальная обработка условия: <если сумма чётная (if (sum % 2 == 0)), то увеличить число на 2 (foo += 2), иначе (else) уменьшить число на 2 (foo -= 2)>. После этого можете вывести результат на монитор (printf("%d\n", &sum)). :)
i:integer;
begin
writeln('Генерируем массив со случайными числами');
for i:=1 to 10 do begin
a[i]:=random(100)+1;
write(a[i],' ');
end;
writeln;
writeln('Выполняем действие');
for i:=1 to 10 do begin
if (i mod 2 = 0) then a[i]:=0 else a[i]:=a[i]*3;
write(a[i],' ');
end;
readln;
end.
2) var a:array [1..10] of integer;
i,k:integer;
begin
writeln('Генерируем массив со случайными числами');
for i:=1 to 10 do begin
a[i]:=random(100)+1;
write(a[i],' ');
end;
writeln;
writeln('Выполняем действие');
k:=a[1];
a[1]:=a[10];
a[10]:=k;
for i:=1 to 10 do write(a[i],' ');
readln;
end.
Объясняю: создаёте переменную, лучше целочисленную (int foo), после чего можно либо перевести число в строку и найти сумму цифр путём сложения двух символов (sum = bar[0] - '0' + bar[1] - '0'), либо с остатка от деления (конечно, это не очень красиво, но если известно, что число двузначное, то можно так: sum = (foo / 10) + (foo % 10)). Дальше банальная обработка условия: <если сумма чётная (if (sum % 2 == 0)), то увеличить число на 2 (foo += 2), иначе (else) уменьшить число на 2 (foo -= 2)>. После этого можете вывести результат на монитор (printf("%d\n", &sum)). :)