В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
знания436
знания436
14.12.2020 09:35 •  Информатика

Мальчик Лёша, ученик 3го курса, очень хотел много денег, и поэтому вместо того, чтобы делать домашнее задание в университете, он много работал. Но вот его отчислили, и у него появилось ещё больше свободного времени! Он узнал у своего друга о том, что очень много зарабатывают строители, но так как у Лёши не было высшего образования, ему предложили работу укладчика дороги. Лёша выложил часть дороги, начиная с указателя на A-й километр до указателя на B-й километр. Затем Лёша взял новый грузовик с щебнем и выложил ещё часть дороги, начиная с указателя на C-й километр до указателя на D-й километр, при этом часть дороги могла быть покрыта дважды (так как у мальчика нет высшего образования, то его начальник мог заставить переделать какой-то из участков дороги). Кроме того Лёша мог выкладывать дорогу как справа налево, так и слева направо — свобода выбора.

Напишите программу, вычисляющую общую длину уложенной дороги.

Формат ввода

Первая строка ввода содержит четыре натуральных числа A,B,C и D, разделенных пробелами (1 ≤ A,B,C,D ≤ 109) — номера километров дороги, которую укладывал Лёша.

Формат вывода

Вывести одно целое число — общую длину уложенной дороги.

Пример 1
Ввод: 1 2 6 4; вывод: 3
Пример 2
Ввод: 1 6 2 4; вывод: 5

Показать ответ
Ответ:
LLLLLina
LLLLLina
16.09.2022 01:42
// PascalABC.NET 3.2, сборка 1399 от 08.03.2017
// Внимание! Если программа не работает, обновите версию!

procedure Cheburek(s:string);
begin
  var n:=ReadInteger('Количество строк в матрице:');
  var m:=ReadInteger('Количество столбцов в массиве:');
  Writeln('*** ',s,' матрица [',n,',',m,'] ***');
  var a:=MatrRandom(n,m,-99,99);
  a.Println(4); Writeln(4*a.ColCount*'-');
  var s1:='сортированный вектор ср.значений нечетных столбцов';
  Writeln(s1);
  a.Cols.Select(x->x.Average).Where((x,i)->i.IsEven).Sorted.Println;
  Writeln(s1.Length*'-');
end;

begin
  Cheburek('первая');
  Cheburek('вторая');
end.

Пример
Количество строк в матрице: 4
Количество столбцов в массиве: 8
*** первая матрица [4,8] ***
  98 -64 -30  84  -6  11   4   7
 -45  23  55  47  67  87  70 -64
  40  20  91 -27 -12  42 -49  10
 -59 -79   5 -77 -59 -44  -4 -10

сортированный вектор ср.значений нечетных столбцов
-2.5 5.25 8.5 30.25

Количество строк в матрице: 6
Количество столбцов в массиве: 11
*** вторая матрица [6,11] ***
 -98 -40 -42  81  39  28  -3 -24 -33  79  13
  22  26 -79  90  93  46  94  83  -1 -13 -18
 -21 -44  85  60  43 -26 -94 -19 -34  99 -72
 -35  46   8  30  88  -4 -87 -76  15 -94   9
 -70  29  83 -79 -69  12 -24 -53 -27  96 -97
  19  80 -98  96  79  84 -76 -29  85  14  14

сортированный вектор ср.значений нечетных столбцов
-31.6666666666667 -30.5 -25.1666666666667 -7.16666666666667 0.833333333333333 45.5
0,0(0 оценок)
Ответ:
ForaN777
ForaN777
22.08.2022 21:44
 --- gfortran 6.3 ---
program prog1
integer N, k, i, j
real a(10,10)
read *, N
print *, 'Матрица:'
do i = 1,N
 do j = 1,N
   a(i,j) = sin(1.0*i+1.0*j/2)
 end do
end do
do i = 1, N
 print *, (a(i,j), j=1,N)
end do
k = 0
do i = 1, N
 do j = 1, N
  if(a(i, j) > 0) k = k+1
 end do
end do 
print *, k
end

Результат:
4
Матрица:
   0.997494996 0.909297407 0.598472118 0.141120002
   0.598472118 0.141120002 -0.350783229 -0.756802499
  -0.350783229 -0.756802499 -0.977530122 -0.958924294
  -0.977530122 -0.958924294 -0.705540299 -0.279415488
      6
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота