Объяснение:
Задание 1
program bukva;
const R=[' ','.',',',';',':','?','!','-']; // разделители
var
s,bukv:string;
i,kol,len:integer;
procedure UpCaseRus(var s:string);
{русские в верхний регистр}
var i:integer;
begin
for i:=1 to length(s) do
if s[i] in ['а'..'п'] then s[i]:=chr(ord(s[i])-32)
else if s[i] in ['р'..'я'] then s[i]:=chr(ord(s[i])-80)
else if s[i]='ё' then s[i]:='Ё';
end;
begin
readln(s);
readln(bukv);
UpCaseRus(s);
UpCaseRus(bukv);
For i:=length(s) downto 2 do
if ((s[i] in R) and (s[i-1] in R)) then delete(s,i,1);
len:=length(s);
kol:=0;
for i:=len downto 1 do
begin
if s[i] in R then
if s[i+1]=bukv then kol:=kol+1;
end;
if s[1]=bukv then kol:=kol+1;
writeln('Слов на букву '+bukv+' ',kol);
readln;
end.
Задание 2
const r=[' ','.',',',';',':','?','!','-'];
var
s:string;
i,kol,d:integer;
begin
readln(s);
len:=length(s);
kol:=0; d:=0;
For i:=length(s) downto 2 do
if ((s[i] in r) and (s[i-1] in r)) then delete(s,i,1);
for i:=1 to length(s) do
begin
if s[i] in r then kol:=kol+1
else if (s[i] in ['0'..'9']) then d:=d+1;
end;
writeln('Слов всего ',kol+1);
writeln('Цифр в тексте ',d);
readln;
end.
1)
var a,b:longint;
begin
readln(a,b);
writeln(a+b);
end.
2)
var x:longint;
begin
readln(x);
if(x>0) then writeln(x-6) else if(x=0) then writeln(32*x-7) else if(x<0) then writeln(5*x-2);
end.
3) В третьей условие не совсем понял, если что, дополни, отредактирую код. Какие значения принимают элементы (по какому принципу заполняется массив)? Написал для массива с элементами от 1 до 50.
var a:array[1..50] of integer;
var i:integer;
begin
for i:=1 to 50 do a[i]:=i;
for i:=1 to 50 do writeln(a[i]);
end.
int main()
{
int x, y, z, min, max;
printf("Введите x и y:\n");
scanf("%d %d", &x, &y);
if (x<y) min = x; else min = y;
if (x*y>x+y) max = x*y; else max = x+y;
printf("min = %d max = %d\n",min,max);
z = min+max;
printf("z = %d",z);
system("pause");
return 0;
}
Пример:
Введите x и y:
10 45
min = 10 max = 450
z = 460