Екатерина1979
?>

Даны два числа a, b. найдите число, большее их среднего арифметического. составьте блок – схему и в паскаль

Информатика

Ответы

ohussyev
Var a,b,c:integer;
begin
readln(a,b);
c:=(a+b)/2;
writeln(c);
end.
intermar2000

программа с комментариями, если все равно не понятно спрашивай

для проверки программы рекомендую n поставить где нибудь на 10 потому что вводить 1000 чисел с клавиатуры то еще удавольствие :))

числа можно вводить по одному или одной строкой через пробел

const

   n = 1000; // длина массива

var

   d : array of integer := new integer[n]; // объявляем и создаем массив

   a, b : integer;

   

begin

   // вводим числа в массив //

   writeln('введите данные в массив:');

   for var i := 0 to n-1 do begin

       read(a);

       d[i] := a;

   end;

   writeln('введен массив d=', d); // выводим массив на экран

   // переворачиваем данные в массиве                                //

   // для этого меняем первое с последним, второе с предпоследним    //

   // и так до середины                                              //

   for var i := 0 to (n div 2)-1 do begin

       a := d[i];

       d[i] := d[n-i-1];

       d[n-i-1] := a;

   end;

   writeln('переворачиваем массив d=', d); // выводим перевернутый массив

   write('числа у которых первая цифра больше последней:');

   // ищем и ввыводим числа с заданным условием //

   for var i := 0 to n-1 do begin

       // находим чему равна 1 цифра //

       b := d[i];

       repeat

           b := b div 10;

       until b < 10;

       if b > d[i] mod 10 then write(' ', d[i]); // сравниваем первую и последнюю цифры и ели первая больше то выводим число

   end;

end.

КириллЕгорова1906

Program n_1;

var a:array [1..1000] of integer; i, buf:integer;

begin

  for i:=1 to 1000 do read(a[i]); //Вводим массив

   for i:=1 to 500 do begin //Переворачиваем массив

       buf:=a[i];

       a[i]:=a[1001-i];

       a[1001-i]:=buf;

   end;

   for i:=1 to 1000 do write(a[i], ' '); //Выводим перевернутый массив

   writeln(); //Переносим строку

   for i:=1 to 1000 do begin //Выводим нужные нам числа

       buf:=a[i];

       while buf>9 do buf:=buf div 10; //buf равно старшему разряду

       if buf>a[i] mod 10 then write(a[i], ' '); //Если старший разряд больше младшего, то выводим

   end;

end.

Часть, выделенная полужирным, эквивалентна

for i:=1000 downto 1 do read(a[i]); //Заполняем массив с конца и тем самым он сразу становится перевернутым.

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

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

Даны два числа a, b. найдите число, большее их среднего арифметического. составьте блок – схему и в паскаль
Ваше имя (никнейм)*
Email*
Комментарий*

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

varvara-kulkova
Андреевна-Арзуманян1109
s-food
Илья Владимировна
nikiforovako76
llipskaya
daarisgoy
Владимирович_Намик59
Матфеопуло1006
zybin41iz81
zsv073625
nadlen76
fygasika
andrey4work918
Caragyant