bb495
?>

Программа на паскале Дан массив, содержащий 7 положительных целых чисел, не превышающих 300. Необходимо уменьшить (или увеличить) все чётные элементы на одно и то же значение, так чтобы при этом максимальный из них стал равен 12. В качестве результата программа должна вывести изменённый массив, по одному элементу в строке. const N = 7; var a: array [1..N] of integer; i, j, k: integer; begin for i := 1 to N do read(a[i]); ... end.

Информатика

Ответы

info2990

Объяснение или gt

Olga-Lev1160
// PascalABC.NET 3.3.5, сборка 1636 от 10.03.2018
// Внимание! Если программа не работает, обновите версию!

1)

procedure Add(a,b:integer; var r:integer);
begin
  r:=a+b
end;

begin
  var (x,y):=ReadInteger2('Введите два целых числа:');
  var z:integer;
  Add(x,y,z);
  Writeln('Их сумма равна ',z)
end.

Пример
Введите два целых числа: 18 142
Их сумма равна 160

2)

function Min3(a,b,c:integer):=Min(a,Min(b,c));

begin
  var (i,j,k):=ReadInteger3('Введите три целых числа:');
  Writeln('Минимальное равно ',Min3(i,j,k))
end.

Пример
Введите три целых числа: 35 -4 41
Минимальное равно -4
Stefanidi_Semeikina1896
PascalABC.NET 3.3.5, сборка 1662 от 29.04.2018
Внимание! Если программа не работает, обновите версию!

procedure Input(var a:array of integer);
begin
  a:=ReadArrInteger('Вводите через пробел рост в см:',a.Length)
end;

procedure MyMax(a:array of integer; var mr:integer);
begin
  mr:=a.Max
end;

procedure KMax(a:array of integer; mx:integer; var km:integer);
begin
  km:=a.Where(t->t=mx).Count
end;

begin
  var n:=ReadInteger('Количество учеников:');
  var r:=new integer[n];
  Input(r);
  var maxR,kol:integer;
  MyMax(r,maxR);
  KMax(r,maxR,kol);
  Writeln('Максимальный рост ',maxR,' имеют ',kol,' чел.')
end.

Пример
Количество учеников: 5
Вводите через пробел рост в см: 170 168 171 159 171
Максимальный рост 171 имеют 2 чел.

На самом деле, это задание - прекрасный пример того, как НЕ НУЖНО использовать процедуры.
Потому что без процедур эта же задача решается гораздо короче, занимает меньше памяти и быстрее работает.
Ниже - текст такой программы в качестве иллюстрации написанного.

begin
  var a:=ReadArrInteger('Вводите через пробел рост в см:',
      ReadInteger('Количество учеников:'));
  var maxR:=a.Max;
  var kol:=a.Where(t->t=maxR).Count;
  Writeln('Максимальный рост ',maxR,' имеют ',kol,' чел.')
end.

Рост учащихся класса (16 человек) записан в одномерный массив. записать программу, которая вычисляет

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Программа на паскале Дан массив, содержащий 7 положительных целых чисел, не превышающих 300. Необходимо уменьшить (или увеличить) все чётные элементы на одно и то же значение, так чтобы при этом максимальный из них стал равен 12. В качестве результата программа должна вывести изменённый массив, по одному элементу в строке. const N = 7; var a: array [1..N] of integer; i, j, k: integer; begin for i := 1 to N do read(a[i]); ... end.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

abdulhakovalily22
Шаленко
German
s45983765471717
npprang21
moisalexx7
Anna Artem
mmurzina
srgymakarov
znaberd786
inainainainaina0073
konstantin0112
Хабарьева Андрей1056
nv6634
andr77716