Вопрос задан 28.04.2021 в 05:59. Предмет Информатика. Спрашивает Мастерков Саша.

C клавиатуры заполнен массив из 30 элементов. Составьте фрагмент программы для решения следующих

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

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Бодрова Полина.
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
0 0
Отвечает Гаврилина Александра.
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.
0 0
Отвечает нейросеть 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 ==
0 0

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

Последние заданные вопросы в категории Информатика

Задать вопрос