DVOct33
?>

Pascal abc напишите программу, которая сортирует список работников компании по фамилии в алфавитном порядке. в списке не более 10000 строк, ввод заканчивается пустой строкой. входные данные в каждой входной строке записаны данные о сотруднике в формате . фамилия отделяется от инициалов пробелом. ввод заканчивается пустой строкой. выходные данные программа должна вывести список сотрудников в алфавитном порядке, добавив нумерацию. примеры входные данные j.x. smith b.a. weiter a.c. johnes выходные данные 1. a.c. johnes 2. j.x. smith 3. b.a. weiter

Информатика

Ответы

dianakryukova00
// PascalABC.NET 3.2, сборка 1417 от 28.03.2017
// Внимание! Если программа не работает, обновите версию!

type
  fs=(string,string);

begin
  var L:=new List<fs>;
  repeat
    var aw:=ReadlnString('>').ToWords;
    if aw.Length=0 then break;
    L.Add((aw[1],aw[0]))
  until false;
  var a:=L.OrderBy(t->t[0]);
  var i:=1;
  foreach var x in a do begin
    Writeln(i:4,' ',x[1],' ',x[0]);
    i+=1
    end
end.

Пример
> J.X. Smith
> B.A. Weiter
> A.C. Johnes
>
   1 A.C. Johnes
   2 J.X. Smith
   3 B.A. Weiter
Стяжкин
Program egor_sasha; var num_eg, num_sash,pri,pri1: real; var mes_eg,mes_sash: real; beginwriteln('numer egora'); readln(num_eg); writeln('numer sashi'); readln(num_sash); writeln('mesto egora (verkh=1,vniz=0)'); readln(mes_eg); writeln('mesto sashi (verkh=1,vniz=0)'); readln(mes_sash); pri: =num_sash+1; pri1: =num_eg+1; if num_eg=pri then    writeln('yes')  else writeln('no'); if num_sash=pri1 then    writeln('yes')  else writeln('no'); if mes_eg=1 then    writeln('egor-high')else  writeln('egor-low'); if mes_sash=1 then    writeln('sasha-high')else  writeln('sasha-low'); end.
Yekaterina_Popova1413
Type
  Point=record
    x,y:real
    end;

procedure GetPoint(c:char; var A:Point);
  var
    x,y:real;
begin
  Write('Введите координаты x и y точки ',c,': ');
  Read(x,y);
  A.x:=x; A.y:=y
end;

function DistPoint(A,B:Point):real;
begin
  DistPoint:=sqrt(sqr(B.x-A.x)+sqr(B.y-A.y))
end;

var
  A,B,M:Point;
  d,p,ab,ma,mb:real;
begin
  GetPoint('A',A); GetPoint('B',B); GetPoint('M',M);
  ab:=DistPoint(A,B); ma:=DistPoint(M,A); mb:=DistPoint(M,B);
  if ma>=ab+mb then d:=mb
  else
    if mb>=ma+ab then d:=ma
    else begin
      p:=(ma+mb+ab)/2;
      d:=2*sqrt(p*(p-ab)*(p-ma)*(p-mb))/ab
    end;
  Writeln('Минимальное расстояние составляет ',d)
end.

Тестовое решение:
Введите координаты x и y точки A: -3 -5
Введите координаты x и y точки B: 2 5
Введите координаты x и y точки M: -3 4
Минимальное расстояние составляет 4.02492235949962

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

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

Pascal abc напишите программу, которая сортирует список работников компании по фамилии в алфавитном порядке. в списке не более 10000 строк, ввод заканчивается пустой строкой. входные данные в каждой входной строке записаны данные о сотруднике в формате . фамилия отделяется от инициалов пробелом. ввод заканчивается пустой строкой. выходные данные программа должна вывести список сотрудников в алфавитном порядке, добавив нумерацию. примеры входные данные j.x. smith b.a. weiter a.c. johnes выходные данные 1. a.c. johnes 2. j.x. smith 3. b.a. weiter
Ваше имя (никнейм)*
Email*
Комментарий*

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

Конычева-музей&quot;260
lbeglarova6
Елена-Олег
Yuliya
tetralek
asvirskiy26
alex091177443
atupicyn754
iptsr4968
metelkin7338
gorovoy-dv4088
beliaeva2
Ruslan374
saltikovaK.S.1482
Gaziev1636