
Вопрос задан 28.04.2021 в 05:59.
Предмет Информатика.
Спрашивает Мастерков Саша.
C клавиатуры заполнен массив из 30 элементов. Составьте фрагмент программы для решения следующих
задач: 1.Найти количество четных чисел.Для проверки использовать подпрограмму. 2.Найти среднее арифметическое двузначных чисел кратных 3, но не кратных 9. В случае если таких элементов нет вывести на экран -1. 3.Найти наибольшую длину цепочки четных элементов массива. 4. Удалить элемент массива и сдвинуть оставшиеся элементы. Номер удаляемого элемента вводится с клавиатуры. 5.Вывести на экран второй максимум массива

Ответы на вопрос

Отвечает Бодрова Полина.
PascalABC.NET 3.3.5, сборка 1662 от 29.04.2018
Внимание! Если программа не работает, обновите версию!
begin
var a:=ReadArrInteger(30);
Writeln('1. Количество четных ',a.Where(t->t.IsEven).Count);
var s:=a.Where(t->(t mod 3=0) and (t mod 9<>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. Второй максимум ');
a.OrderByDescending(t->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->t.IsEven).Count);
var s:=a.Where(t->(t mod 3=0) and (t mod 9<>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. Второй максимум ');
a.OrderByDescending(t->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 <> 0) and (a[i]>9) and (a[i]<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((y>0) and ((odd(a[i])=false))) then
inc(y)
else
if(y>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]>max) then begin
max1:=max;
max:=a[i];
end;
if((a[i]>max1) and (a[i]<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 <> 0) and (a[i]>9) and (a[i]<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((y>0) and ((odd(a[i])=false))) then
inc(y)
else
if(y>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]>max) then begin
max1:=max;
max:=a[i];
end;
if((a[i]>max1) and (a[i]<max)) then
max1:=a[i];
end;
writeln(max1);
end.



Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Вот фрагмент программы на языке С++, который решает задачи, описанные в вопросе:
cpp#include <iostream>
using namespace std;
int countEven(int arr[], int size); // подпрограмма для задачи 1
float averageMultipleOf3Not9(int arr[], int size); // подпрограмма для задачи 2
int longestEvenChain(int arr[], int size); // подпрограмма для задачи 3
void deleteElement(int arr[], int &size, int index); // подпрограмма для задачи 4
int secondMax(int arr[], int size); // подпрограмма для задачи 5
int main() {
const int size = 30;
int arr[size];
// Заполнение массива arr с клавиатуры
// Задача 1
int count = countEven(arr, size);
cout << "Количество четных чисел: " << count << endl;
// Задача 2
float avg = averageMultipleOf3Not9(arr, size);
if (avg == -1) {
cout << "Нет двузначных чисел, кратных 3, но не кратных 9" << endl;
} else {
cout << "Среднее арифметическое двузначных чисел кратных 3, но не кратных 9: " << avg << endl;
}
// Задача 3
int length = longestEvenChain(arr, size);
cout << "Наибольшая длина цепочки четных элементов: " << length << endl;
// Задача 4
int index;
cout << "Введите номер элемента, который нужно удалить: ";
cin >> index;
deleteElement(arr, size, index);
// Задача 5
int secondMaxValue = secondMax(arr, size);
cout << "Второй максимум: " << secondMaxValue << endl;
return 0;
}
// Подпрограмма для задачи 1
int countEven(int arr[], int size) {
int count = 0;
for (int i = 0; i < size; i++) {
if (arr[i] % 2 == 0) {
count++;
}
}
return count;
}
// Подпрограмма для задачи 2
float averageMultipleOf3Not9(int arr[], int size) {
int sum = 0;
int count = 0;
for (int i = 0; i < size; i++) {
if (arr[i] % 3 == 0 && arr[i] % 9 != 0 && arr[i] >= 10 && arr[i] <= 99) {
sum += arr[i];
count++;
}
}
if (count == 0) {
return -1;
} else {
return static_cast<float>(sum) / count;
}
}
// Подпрограмма для задачи 3
int longestEvenChain(int arr[], int size) {
int maxLen = 0;
int len = 0;
for (int i = 0; i < size; i++) {
if (arr[i] % 2 ==


Топ вопросов за вчера в категории Информатика

Информатика 47

Информатика 33

Информатика 67

Информатика 18

Информатика 25

Информатика 563

Информатика 16
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili