Напишите программу которая находит максимальный и минимальный из чётных пложителных...

0 интересует 0 не интересует
653 просмотров

Напишите программу которая находит максимальный и минимальный из чётных пложителных элементов массива. Если в массиве нет чётных положительных элементов, нужно вывести сообщение об этом. по информатика с ответам


спросил от (17 баллов) в категории Информатика
2 Ответы
0 интересует 0 не интересует
ответил от Супер Кандидат Наук (38.6k баллов)
 
Лучший ответ

//"Школьный" вариант
//Pascal ABC.NET 3.1 сборка 1256

Const
 n=10;

 Var
 ar:array[1..n] of integer;
 i,max,min:integer;
b:boolean;
begin
randomize;
b:=false;
max:=integer.MinValue;
min:=integer.MaxValue;
writeln('Array:');
for i:=1 to n do
 begin
  ar[i]:=random(-100,100);
  if (ar[i]>max) and not(odd(ar[i])) and (ar[i]>0) then
  begin
   max:=ar[i];
   b:=true;
  end;
  if (ar[i]0) then
  begin
   min:=ar[i];
   b:=true;
  end;
  write(ar[i]:4);
 end;
writeln;
if b=false then writeln('Нет удовлетворяющих условиям чисел') else
 begin
  writeln('Max=',max);
  writeln('Min=',min);
 end;
end.

Пример работы программы:
Array:
  98  60 -41 -88  63 -81 -77 -96 -18  51
Max=98
Min=60

оставил комментарий от Супер Кандидат Наук (38.6k баллов)
0 0

Это на 4 с минусом. Всего возможно получить 300 баллов, если идеально сдать все экзамены. Я весьма слабо написал математику, а на информатике дали олимпиадную задачу написать и скомпилировать на листочке. Из за последнего я не слабо психанул на экзамене и получил достаточно средний результат, хотя мог написать 80-90 баллов из 100.

оставил комментарий от Архангел (142k баллов)
0 0

Как это: скомпилировать на листочке? Объектный код написать? )))))

оставил комментарий от Супер Кандидат Наук (38.6k баллов)
0 0

Кхм, то есть отладить. Там момент из разряда "ошибка компиляции - лишаетесь баллов".

оставил комментарий от Архангел (142k баллов)
0 0

ЕГЭ - в целом идиотический процесс. Заранее известны вопросы по группам. Это позволяет строить оптимальную стратегию сдачи. Намечаешь пороговое значение, на которое идешь. Из того, что знаешь, набираешь нужную сумму баллов и доводишь только эти вопросы до идеала. При сдаче решаешь именно их. В оставшееся время решаешь прочее, как бонус. Кроме В15 в Информатике, потому что на нее надо минут 30-40 и легко ошибиться в арифметике. Гарантированная сдача.

оставил комментарий от Архангел (142k баллов)
0 0

По "ошибка компиляции". В методических материалах для комиссий по проверке ЕГЭ сказано, что несущественные описки (где-то пропущена точка с запятой в конце оператора, например) не могут служить поводом для снижения баллов. Поэтому "ошибка компиляции" - незаконное требование, если мы о ЕГЭ.

оставил комментарий от Супер Кандидат Наук (38.6k баллов)
0 0

В том то и штука, что задачи были нестандартные. Я придерживался той же стратегии, но "разрыв шаблона" в последний момент не ограничился только олимпиадной задачей на месте простейшей вещи со вложенным циклом. Хотя другие замены были попроще.

оставил комментарий от Архангел (142k баллов)
0 0

И в этом случае требование компиляции без ошибок было незаконным.

оставил комментарий от Архангел (142k баллов)
0 0

"Программа может содержать не более трёх синтаксических ошибок следующих видов:
пропущен или неверно указан знак пунктуации (запятая, точка с запятой, скобки и т.д.);
неверно написано или пропущено служебное слово языка программирования;
не описана или неверно описана переменная;
применяется операция, недопустимая для соответствующего типа данных."

оставил комментарий от Архангел (142k баллов)
0 0

"К синтаксическим ошибкам приравнивается использование неверного типа данных (например, использование целого типа вместо вещественного для представления данных при вводе и обработке).
Если одна и та же ошибка встречается несколько раз, она считается за одну ошибку"

оставил комментарий от Архангел (142k баллов)
0 0

В общем, всегда полезно знать свои права...

0 интересует 0 не интересует
ответил от Архангел (142k баллов)

// PascalABC.NET 3.1, сборка 1256 от 21.06.2016
begin
  var a:=ArrRandom(ReadInteger('n='),-99,99); a.Println;
  var b:=a.Where(x->(x>0) and x.IsEven);
  if b.Count=0 then Writeln('Нет четных положительных элементов')
  else Writeln('Min=',b.Min,', max=',b.Max)
end.

Тестовое решение
n= 17
-11 15 46 -69 27 -26 68 -48 -2 9 17 7 -86 75 -58 -45 -52
Min=46, max=68

...