М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации

Напишите программу, которая проверяет, не ли суммирование двух заданных целых чисел(определенного типа) к переполнению.

👇
Ответ:
vlad2217890
vlad2217890
02.11.2022
Const
  low=-32768;
  high=32767;
Var i, j :integer;
begin
  readln(i,j);
  if sign(i)*sign(j)<0 then writeln('Сложение допустимо, результат ',i+j)
  else
    if i<0 then
      if j<low-i then writeln('Сложение недопустимо: возникнет переполнение')
      else writeln('Сложение допустимо, результат ',i+j)
    else
      if j>high-i then writeln('Сложение недопустимо: возникнет переполнение')
      else writeln('Сложение допустимо, результат ',i+j)
end.
4,4(30 оценок)
Открыть все ответы
Ответ:
ntaskaeva2
ntaskaeva2
02.11.2022
Type
  mass = array[1..10, 1..10] of real;

var
  a, b, c: mass;
  n, m, i, j, n1, m1: integer;

procedure MatrA(var a: mass);
var
  i, j: integer;
begin
  for i := 1 to n do
    for j := 1 to m do
    begin
      writeln('a[', i, ',', j, ']: ');
      readln(a[i, j])
    end
end;

procedure MatrB(var b: mass);
var
  i, j: integer;
begin
  for i := 1 to n1 do
    for j := 1 to m1 do
    begin
      writeln('b[', i, ',', j, ']: ');
      readln(b[i, j])
    end
end;

procedure Sum(a, b: mass; var c: mass);
var
  i, j: integer;
begin
  for i := 1 to n do
    for j := 1 to m do
      c[i, j] := a[i, j] + b[i, j];
end;

begin
  writeln('Введите n,m матрицы A');
  readln(n, m);
  MatrA(a);
  writeln('Введите n,m матрицы B');
  readln(n1, m1);
  MatrB(b);
  if (n1 <> n) and (m1 <> m) then
    writeln('Матрицы сложить нельзя')
  else begin
    Sum(a, b, c);
    writeln('A+B');
    for i := 1 to n do
    begin
      for j := 1 to m do
        write(c[i, j]:1:3, ' ');
      writeln
    end
  end;
  readln;
end.
4,7(39 оценок)
Ответ:
пподрао
пподрао
02.11.2022
Подберем числа из которых можно получить данные нам числа
87 из 1222
250 из 7099
656136 из 9999
Всего 3

Не подошли:
58: только 5 и 8, что противоречит п2
124: только 12 и 4 не нарушают п2.
    4 = 1+1+1+1, 1*1*1*1=1 <> 12
    4 = 1*1*1*4 = 1*1*2*2 , 1+1+1+4=7 <> 12, 1+1+2+2 = 6 <> 12
411: только 41 и 1 не нарушают п2.
    1 = 1+0+0+0, 1*0*0*0 = 0 <> 41
    1 = 1*1*1*1, 1+1+1+1 = 4 <> 41     
1711: только (17 и 11) и (171 и 1) не нарушают п2.
    (171 и 1), случай с 1 рассмотрен выше
    (17 и 11): 17 = 17*1*1*1, 17+1+1+1 = 20 < 11
        11 = 11*1*1*1, 11+1+1+1 = 14 < 17
841424: только (84142 и 4) и (8414 и 24) и (841 и 424) не нарушают п2.
    Максимум суммы 4 цифр = 9+9+9+9 = 36
    Максимум произведения 4 цифр = 9*9*9*9 = 6561
    (841 и 424): оба числа больше максимума суммы
    (84142 и 4) и (8414 и 24): 84142 и 8414 больше максимума произведения
4,5(68 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ