C клавиатуры заполнен массив из 30 элементов. Составьте кусок программы для
C клавиатуры заполнен массив из 30 частей. Составьте кусок программы для решения последующих задач:
1.Найти количество четных чисел.Для проверки использовать подпрограмму.
2.Отыскать среднее арифметическое двузначных чисел кратных 3, но не кратных 9. В случае если таких частей нет вывести на экран -1.
3.Найти величайшую длину цепочки четных элементов массива.
4. Удалить элемент массива и сдвинуть оставшиеся элементы. Номер устраняемого элемента вводится с клавиатуры.
5.Вывести на экран 2-ой максимум массива
Виолетта
Язык
Вячеслав Грудий
паскаль
2 ответа
Владислав Артеменков
PascalABC.NET 3.3.5, сборка 1662 от 29.04.2018
Внимание! Если программка не работает, обновите версию!
begin
var a:=ReadArrInteger(30);
Writeln('1. Количество четных ',a.Where(t-gt;t.IsEven).Count);
var s:=a.Where(t-gt;(t mod 3=0) and (t mod 9lt;gt;0) and t.Between(10,99));
Write('2. Мудреное среднее арифметическое ');
if s.Count=0 then Writeln(-1) else Writeln(s.Average);
Write('3. Величайшая длина цепочки четных элементов ');
var (l,l1):=(-1,0);
foreach var t in a do
if t.IsEven then l1+=1
else begin
l:=Max(l,l1);
l1:=0
end;
Writeln(l);
var k:=ReadInteger('4. Номер устраняемого элемента (1-30):')-1;
Writeln('Массив после удаления элемента');
a:=a?[:k]+a?[k+1:]; a.Println;
Write('5. 2-ой максимум ');
a.OrderByDescending(t-gt;t).Skip(1).Take(1).Println
end.
Пример
40 -116 91 -47 14 -10 -88 81 92 -106 121 133 -49 69 50 -60 49 57 30 49 60 106 -94 50 -32 -52 -60 -96 148 -49
1. Количество четных 19
2. Замысловатое среднее арифметическое 54
3. Наибольшая длина цепочки четных элементов 9
4. Номер устраняемого элемента (1-30): 7
Массив после удаления элемента
40 -116 91 -47 14 -10 81 92 -106 121 133 -49 69 50 -60 49 57 30 49 60 106 -94 50 -32 -52 -60 -96 148 -49
5. Второй максимум 133
Внимание! Если программка не работает, обновите версию!
begin
var a:=ReadArrInteger(30);
Writeln('1. Количество четных ',a.Where(t-gt;t.IsEven).Count);
var s:=a.Where(t-gt;(t mod 3=0) and (t mod 9lt;gt;0) and t.Between(10,99));
Write('2. Мудреное среднее арифметическое ');
if s.Count=0 then Writeln(-1) else Writeln(s.Average);
Write('3. Величайшая длина цепочки четных элементов ');
var (l,l1):=(-1,0);
foreach var t in a do
if t.IsEven then l1+=1
else begin
l:=Max(l,l1);
l1:=0
end;
Writeln(l);
var k:=ReadInteger('4. Номер устраняемого элемента (1-30):')-1;
Writeln('Массив после удаления элемента');
a:=a?[:k]+a?[k+1:]; a.Println;
Write('5. 2-ой максимум ');
a.OrderByDescending(t-gt;t).Skip(1).Take(1).Println
end.
Пример
40 -116 91 -47 14 -10 -88 81 92 -106 121 133 -49 69 50 -60 49 57 30 49 60 106 -94 50 -32 -52 -60 -96 148 -49
1. Количество четных 19
2. Замысловатое среднее арифметическое 54
3. Наибольшая длина цепочки четных элементов 9
4. Номер устраняемого элемента (1-30): 7
Массив после удаления элемента
40 -116 91 -47 14 -10 81 92 -106 121 133 -49 69 50 -60 49 57 30 49 60 106 -94 50 -32 -52 -60 -96 148 -49
5. Второй максимум 133
Мирослава Чертищева
Program aaa;
type
t=array[1..30] of integer;
var
a:t;
i,h,max,max1,y:integer;
q,c:real;
procedure chet(a:t);
var
i,z:integer;
begin
z:=0;
for i:=1 to 30 do
if(odd(a[i])=false) then inc(z);
writeln(z);
end;
begin
for i:=1 to 30 do
read(a[i]);
//1
chet(a);
//2
h:=0;
c:=0;
for i:=1 to 30 do
if((a[i] mod 3 = 0) and (a[i] mod 9 lt;gt; 0) and (a[i]gt;9) and (a[i]lt;100)) then begin inc(h);
c:=c+a[i];
end;
if(h=0) then writeln(-1)
else writeln(c/h);
//3
h:=0;
max:=0;
for i:=1 to 30 do begin
if((odd(a[i])=false) and (y=0)) then begin
h:=i;
y:=1;
continue;
end;
if((ygt;0) and ((odd(a[i])=false))) then
inc(y)
else
if(ygt;max) then begin
max:=y;
max1:=h;
y:=0;
end
else y:=0;
end;
for i:=max1 to max+max1-1 do
write(a[i],' ');
writeln;
//4
readln(h);
y:=a[h];
for i:=h to 29 do
a[i]:=a[i+1];
for i:=1 to 29 do
write(a[i],' ');
for i:=29 downto h do
a[i+1]:=a[i];
a[h]:=y;
writeln;
//5
max:=0;
max1:=0;
for i:=1 to 30 do begin
if(a[i]gt;max) then begin
max1:=max;
max:=a[i];
end;
if((a[i]gt;max1) and (a[i]lt;max)) then
max1:=a[i];
end;
writeln(max1);
end.
type
t=array[1..30] of integer;
var
a:t;
i,h,max,max1,y:integer;
q,c:real;
procedure chet(a:t);
var
i,z:integer;
begin
z:=0;
for i:=1 to 30 do
if(odd(a[i])=false) then inc(z);
writeln(z);
end;
begin
for i:=1 to 30 do
read(a[i]);
//1
chet(a);
//2
h:=0;
c:=0;
for i:=1 to 30 do
if((a[i] mod 3 = 0) and (a[i] mod 9 lt;gt; 0) and (a[i]gt;9) and (a[i]lt;100)) then begin inc(h);
c:=c+a[i];
end;
if(h=0) then writeln(-1)
else writeln(c/h);
//3
h:=0;
max:=0;
for i:=1 to 30 do begin
if((odd(a[i])=false) and (y=0)) then begin
h:=i;
y:=1;
continue;
end;
if((ygt;0) and ((odd(a[i])=false))) then
inc(y)
else
if(ygt;max) then begin
max:=y;
max1:=h;
y:=0;
end
else y:=0;
end;
for i:=max1 to max+max1-1 do
write(a[i],' ');
writeln;
//4
readln(h);
y:=a[h];
for i:=h to 29 do
a[i]:=a[i+1];
for i:=1 to 29 do
write(a[i],' ');
for i:=29 downto h do
a[i+1]:=a[i];
a[h]:=y;
writeln;
//5
max:=0;
max1:=0;
for i:=1 to 30 do begin
if(a[i]gt;max) then begin
max1:=max;
max:=a[i];
end;
if((a[i]gt;max1) and (a[i]lt;max)) then
max1:=a[i];
end;
writeln(max1);
end.
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
выпиши в свою тетрадь те правила этикета которые тебе не были
Разные вопросы.
Анна хорошо учится у неё много подруг свободное от учёбы время
Обществознание.
10) Килограмм конфет дороже килограмма печенья на 52 р. За 8
Математика.
Во сколько раз число атомов кислорода в земной коре больше числа
Химия.
Составить монолог от имени дневника двоечника 7-10 предложений
Русский язык.
Рассматривая литературный язык как сложное взаимодействие книжного языка и разговорного,В.И.Чернышёв горячо
Разные вопросы.
Арабы входят в __________________ групп народов. Местом расселения арабов с незапамятных
Разные вопросы.
Грузовой автомобиль марки краз за одну поездку может доставить 7.500 кирпичей
Математика.
Облако тегов