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

Даны 3 отрезка на числовой прямой: [a1, b1], [a2, b2], [a3, b3]. Определить отрезок, являющийся их пересечением.

Без функций и процедур, заранее Язык - pascal

Показать ответ
Ответ:
nik22041
nik22041
08.12.2020 07:29
В матрице 42 элемента. Заполним её случайными значениями в диапазоне от  x/2 до  2*y, тогда в среднем половина значений попадет в заданный диапазон.

const
  m=6;
  n=7;
var
  a:array[1..m,1..n] of integer;
  i,j,k,x,y,x1,y1,s:integer;
begin
  Randomize;
  Write('Введите через пробел x и y: '); Read(x,y);
  if y<x then begin s:=x; x:=y; y:=s end;
  Writeln('Исходный массив');
  if x<0 then x1:=2*x else x1:=x div 2;
  if y<0 then y1:=y div 2 else y1:=2*y;
  k:=y1-x1+1; s:=0;
  for i := 1 to m do
  begin
    for j := 1 to n do
    begin
      a[i,j]:=Random(k)+x1;
      Write(a[i,j]:4);
      if (a[i,j]>=x) and (a[i,j]<=y) then s:=s+a[i,j]
    end;
    Writeln
  end;
  for j:=1 to n do a[1,j]:=s;
  Writeln('Результирующая матрица');
  for i := 1 to m do
  begin
    for j := 1 to n do Write(a[i,j]:4);
    Writeln
  end
end.

Тестовое решение:
Введите через пробел x и y: -5 10
Исходный массив
   0  11  -6  15  -8  -2  -6
   9   0   6   1  11  -2  -1
   2   9  13  -1   6   0   9
   6   1  -5   8  -3   0  -5
   8   4  -8   7  -6   6  11
  18  -1  15  -8  -9  -9  20
Результирующая матрица
  62  62  62  62  62  62  62
   9   0   6   1  11  -2  -1
   2   9  13  -1   6   0   9
   6   1  -5   8  -3   0  -5
   8   4  -8   7  -6   6  11
  18  -1  15  -8  -9  -9  20
0,0(0 оценок)
Ответ:
Kamper5678
Kamper5678
30.09.2020 16:24
//дан целочисленный массив из 30 элементов. Элементы массива могут принимать значения от -10 до 20.
 //Составьте программу, которая подсчитывает и выводит среднюю температуру по всем дням, 
//когда были заморозки. Гарантируется, что хотя бы в один день были заморозки

var i,x,y  : shortint;
    s      : real;
    t      : array [1..30] of shortint;
begin
  randomize;
  For i:=1 to 30 do
    begin
     t[i]:=random (31)-10; //заполняем таблицу случайным образом (в диапазоне от -10 до 20)
     writeln (i,'  ',t[i]); //строка не обязательная просто позволяет увидеть заполненный массив  
   end;
 for i:=1 to 30 do
   begin
     if t[i]<0 then
        begin
         x:=x+t[i];
         y:=y+1;
       end;
   end;
   s:=x/y;
   writeln ('Средняя температура по дням, когда были заморозки ',s:0:2);
end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота