boro-1973
?>

Решите по информатике на pascal. даны три числа вывести среднее число но при этом числа не могут быть одинаковыми. например 9, 3, 14 нужно вывести 9. или 15, 6, 1 нужно вывести 6.

Информатика

Ответы

Rustamov741
Решение вашей задачи
Решите по информатике на pascal. даны три числа вывести среднее число но при этом числа не могут быт
Coffee3862
//Максимально прямой(в значении тупой) код

var
a,b,c, max, min:real;
begin
Readln(a,b,c);
if (a > b) and (a > c) then Max:= a;
if (c > b) and (c > a) then Max:= c;
if (b > a) and (b > c) then Max:= b;

if (a < b) and (a < c) then Min:= a;
if (c < b) and (c < a) then Min:= c;
if (b < a) and (b < c) then Min:= b;

if (a <> min) and (a <> max) then writeln(a);
if (b <> min) and (b <> max) then writeln(b);
if (c <> min) and (c <> max) then writeln(c);
end.

Пример:
-9 3 6
3
apromovich1
//PascalABC.NET (версия 3.1, сборка 1196 от 09.03.2016)
function
Transpose(a: array[,] of integer): array[,] of integer;
//Поворот на 90гр по часовой стрелке
begin
  var m := Length(a, 0);
  var n := Length(a, 1);
  Result := new integer[n, m];
  for var i := 0 to n-1 do begin
    for var j := 0 to m-1 do
      Result[i, j] := a[m-1-j, i];
  end;
end;

begin
  var n := ReadInteger('Введите n:');
//Заполнение матрицы NxN сл. числами и вывод на экран
  var a :=MatrixRandom(n, n);
  for  var i:=0 to n-1 do begin
    for var j:=0 to n-1 do
      Print(a[i,j]);
    println;
    end;
     println;

  Println('поворот влево на 90 гр');
  var b := Transpose(a);
  b:=Transpose(b);
  b:=Transpose(b);
  for  var i:=0 to n-1 do begin
    for var j:=0 to n-1 do
      Print(b[i,j]);
    println;
    end;
  println;

  Println('поворот вправо на 90гр');
  b := Transpose(a);
  for  var i:=0 to n-1 do begin
    for var j:=0 to n-1 do
      Print(b[i,j]);
    println;
    end;
 println;

 Println('поворот на 180 гр');
  b := Transpose(a);
  b := Transpose(b);
  for  var i:=0 to n-1 do begin
    for var j:=0 to n-1 do
      Print(b[i,j]);
    println;
    end;
end.
Барскова1943
1. В "реальном мире" это решается примерно так:

// PascalABC.NET 3.1, сборка 1198 от 11.03.2016
begin
  var a:=ArrRandom(ReadInteger('n='),0,2); a.Println;
  a.Sorted.Println
end.

Тестовое решение:
n= 15
1 2 0 2 2 0 2 0 2 0 0 1 0 0 2
0 0 0 0 0 0 0 1 1 2 2 2 2 2 2

2. Но, поскольку считается, что школьникам больше заняться нечем, их заставляют писать примерно в таком стиле (и время займет, и ощибок понаделают):

// PascalABC.NET 3.1, сборка 1198 от 11.03.2016
const
  nn=100;
var
  i,j,n,t:integer;
  a:array[1..nn] of integer;
begin
  Write('n='); Read(n);
  Randomize;
  for i:=1 to n do begin
    a[i]:=Random(3);
    Write(a[i],' ')
    end;
  Writeln;
  for i:=1 to n-1 do
    for j:=1 to n-1 do
      if a[j]>a[j+1] then begin
        t:=a[j]; a[j]:=a[j+1]; a[j+1]:=t
        end;
  for i:=1 to n do Write(a[i],' ');
  Writeln;
end.

Тестовое решение:
n=15
0 1 1 0 2 1 0 2 1 2 1 0 0 2 0
0 0 0 0 0 0 1 1 1 1 1 2 2 2 2

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

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

Решите по информатике на pascal. даны три числа вывести среднее число но при этом числа не могут быть одинаковыми. например 9, 3, 14 нужно вывести 9. или 15, 6, 1 нужно вывести 6.
Ваше имя (никнейм)*
Email*
Комментарий*

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

Zezyulinskii Fedor
Vladimir
anadtacia03108988
Sergeevna803
ea9824165833886
Баканова1415
Khiryanov
perova-s200
marusyamr
Татьяна_Вологжин
chavagorin
TrofimovAnastasiya828
Yurevich1243
uchpaot
Сергеевич1726