Объяснение:
Задание 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.
#include <iostream>
using namespace std;
int main ()
{
int salary;
int quantity = 0;
double amount = 0;
double average_salary = 0;
for (int i = 0; i < 5; i++)
{
cin >> salary;
if (salary >= 0 && salary <= 80)
{
amount += salary;
quantity++;
}
}
average_salary = amount / quantity;
cout << (average_salary);
}
Объяснение:
#include <iostream> // Библиотека ввода - вывода
using namespace std; // Пространство имен
int main ()
{
int salary; // Создание целочисленной переменной, отвечающей за вводимые с клавиатуры числа
int quantity = 0; // Создание целочисленной переменной, хранящей количество работников, попадающих под условие
double amount = 0; // Создание вещественной переменной для нахождения суммы зарплат, попадающих под условие
double average_salary = 0; // Создание вещественной переменной, хранящей среднюю зарплату
for (int i = 0; i < 5; i++) // Цикл выполняется 5 раз
{
cin >> salary; // Вводим число с клавиатуры
if (salary >= 0 && salary <= 80) // Если 0 <= значение переменной salary <= 80
{
amount += salary; // Сумма = сумма + вводимое число
quantity++; // К переменной, хранящей количество, прибавляем единицу
}
}
average_salary = amount / quantity; // Вычисление средней зарплаты: средняя зарплата = сумма ÷ количество
cout << average_salary; // Вывод ответа
}
n=15;
var
d:array[1..n] of integer;
i:integer;
begin
//Инициализация и вывод
Randomize;
Writeln('Исходный массив в столбик:');
for i:=1 to n do
begin
d[i]:=Random(-20,18);
Writeln(d[i]:4)
end;
Writeln('Исходный массив в строку:');
for i:=1 to n do Write(d[i]:4);
Writeln;
{
Задание 1. Найдите отдельное количество
отрицательных и положительных элементов массива.
}
begin
var ineg,ipos:integer;
ineg:=0; ipos:=0;
for i:=1 to n do
if d[i]>0 then Inc(ipos)
else if d[i]<0 then Inc(ineg);
Writeln('Задание 1');
Writeln('Количество отрицательных элементов ',ineg,
', положительных- ',ipos)
end;
{
Задание 2. Найдите произведение элементов,
имеющих значение меньше -2
}
begin
var p:integer:=1;
for i:=1 to n do
if d[i]<-2 then p*=d[i];
Writeln('Задание 2');
Writeln('Произведение элементов, меньших -2: ',p)
end;
{
Задание 3. Найдите максимальный элемент массива из элементов,
стоящих на местах, номера которых кратны пяти.
}
begin
var dmax:integer;
i:=10; dmax:=d[5];
while i<=n do begin
if dmax<d[i] then dmax:=d[i];
i+=5
end;
Writeln('Задание 3');
Writeln('Максимальный элемент массива из элементов,');
Writeln('стоящих на местах с номером, кратным 5: ',dmax)
end;
{
Задание 4. Замените отрицательные элементы,
стоящие на нечётных местах на последний элемент массива
}
i:=1;
while i<=n do begin
if d[i]<0 then d[i]:=d[n];
i+=2
end;
Writeln('Задание 4');
Writeln('Отрицательные элементы, стоящие на нечётных местах,');
Writeln('заменены последним элементом массива:');
for i:=1 to n do Write(d[i]:4);
Writeln;
{
Задание 5. Если в массиве имеются нулевые элементы,
то найдите сумму элементов массива, имеющих значение, кратное трем,
иначе выведите на экран положительные элементы массива
}
begin
var sum:integer:=0;
var FlagSum:boolean:=False;
for i:=1 to n do
begin
Flagsum:=(d[i]=0);
if FlagSum then break
end;
Writeln('Задание 5');
if FlagSum then begin
for i:=1 to n do
if (d[i] mod 3)=0 then sum+=d[i];
Writeln('Сумма элементов, имеющих значение, кратное трем: ',sum)
end
else
begin
Writeln('Положительные элементы массива:');
for i:=1 to n do if d[i]>0 then Write(d[i]:4);
Writeln
end
end;
{
Задание 6*. Найти в массиве элементы, кратные 12,
и вывести на экран их номера. Если таких элементов нет,
то вывести сообщение об этом на экран.
}
Writeln('Задание 6*');
begin
var k:integer:=0;
var p:array[1..n] of integer;
for i:=1 to n do
if (d[i] mod 12)=0 then begin Inc(k); p[k]:=i end;
if k>0 then begin
Writeln('Номера элементов массива, кратных 12:');
for i:=1 to k do Write(p[i]:3);
Writeln
end
else Writeln('В массиве нет элементов, кратных 12')
end
end.
Тестовое решение:
Исходный массив в столбик:
-12
-5
-2
15
-20
13
-4
-2
12
17
12
14
2
3
-20
Исходный массив в строку:
-12 -5 -2 15 -20 13 -4 -2 12 17 12 14 2 3 -20
Задание 1
Количество отрицательных элементов 7, положительных- 8
Задание 2
Произведение элементов, меньших -2: -96000
Задание 3
Максимальный элемент массива из элементов,
стоящих на местах с номером, кратным 5: 17
Задание 4
Отрицательные элементы, стоящие на нечётных местах,
заменены последним элементом массива:
-20 -5 -20 15 -20 13 -20 -2 12 17 12 14 2 3 -20
Задание 5
Положительные элементы массива:
15 13 12 17 12 14 2 3
Задание 6*
Номера элементов массива, кратных 12:
9 11
Задание 7*. Выведите на экран одномерный массив,
раскрасив в нем красным цветом кратные 12 элементы.
uses
GraphABC;
const
n=15;
var
d:array[1..n] of integer;
i:integer;
begin
SetWindowSize(800,600);
Randomize;
for i:=1 to n do
begin
d[i]:=Random(-20,18);
if (d[i] mod 12)=0 then begin
SetFontColor(clRed);
Write(d[i]:4);
SetFontColor(clBlack)
end
else Write(d[i]:4)
end;
Writeln
end.