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

Паскаль. длинная арифметика. нужно сложить два великих длинных числа.

👇
Ответ:
Танюша9102
Танюша9102
26.04.2021

//длинная арифметика

begin

 var a := '123456789123456789';//ReadString();

 var b := '123456789123456789123';//...

 

 var l := Abs(a.Length - b.Length);

 var source := l*'0';

 

 if a.Length > b.Length then

     insert(source, b, 1)

 else

     insert(source, a, 1);

 

 var s := '';

 var mem := 0;

 

 for var i:=a.Length downto 1 do

 begin

   var c := a[i].ToDigit + b[i].ToDigit + mem;

   mem := c div 10;

   insert((c mod 10).ToString, s, 1)

 end;

 

 if (mem > 0) then insert('1', s, 1);

 

 s.Println;

end.

4,8(16 оценок)
Открыть все ответы
Ответ:
Dyhanexis
Dyhanexis
26.04.2021
// PascalABC.NET 3.2, сборка 1387 от 20.02.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var n:=ReadInteger('Количество строк/столбцов в матрице:');
  Writeln('*** Матрица А ***');
  var a:=MatrRandom(n,n,-50,50); a.Println(4);
  Writeln('*** Матрица B ***');
  var b:=MatrRandom(n,n,-50,50); b.Println(4);
  Writeln('*** Матрица C ***');
  var c:=MatrRandom(n,n,-50,50); c.Println(4);
  Writeln(4*a.ColCount*'-');
  Writeln('*** (|A|+|B|)x|C| ***');
  var t:=new integer[n,n]; // временная иатрица для суммы
  for var i:=0 to n-1 do
    for var j:=0 to n-1 do
      t[i,j]:=a[i,j]+b[i,j]; // сумма матриц
  var r:=new integer[n,n]; // матрица-результат
  for var i:=0 to n-1 do
    for var j:=0 to n-1 do begin
      var s:=0;
      for var k:=0 to n-1 do s+=t[i,k]*c[k,j];
      r[i,j]:=s
      end;
  r.Println(8)
end.

Пример
Количество строк/столбцов в матрице: 6
*** Матрица А ***
  32 -26  27 -45 -48  38
 -40  -5 -20 -26  23  27
   0  33   1 -38 -42  14
  11   1  33  43 -43 -30
 -11  15  -8 -19  14  36
  16  24 -34 -33  33  22
*** Матрица B ***
 -20  42 -10  10 -38  27
 -30  18 -17 -43  22  12
  -8 -45  17 -45  34  45
 -12  39 -34   6  17 -12
  -5  30  31  -5   8  49
  10 -17 -50  29  32 -34
*** Матрица C ***
 -26 -49 -12 -45  23 -10
  38 -19  43  31  39   9
 -32  10  41 -29  29  44
   6  24 -25 -49 -36 -18
  47  25 -41 -16  -3 -11
  12  13 -27   1  31  33

*** (|A|+|B|)x|C| ***
   -3720   -2867    3887    2619    4926    4493
    5667    2789   -1291    7326    1382    1223
    -990    -625    1128    3720    4711    4293
     146    -741    2666    -713   -1480   -1656
    3300    1238     473    2357    5487    4572
    5165    -874   -5696     627   -1988   -4932
4,6(57 оценок)
Ответ:
csonzdanova
csonzdanova
26.04.2021
Блок-схема - в прилагаемом файле.
var n:integer; a,b,r,x,y,z,p,s:real;
begin
writeln('Введите номер фигуры: 1) прямоугольник; 2) круг; 3) треугольник:');
readln(n);
case n of
 1: begin 
    write('a, b: '); readln(a,b);
    s:=a*b;
    writeln('s = ',s);
    end;
 2: begin 
    write('r = '); readln(r);
    s:=pi*r*r;
    writeln('s = ',s);
    end;
 3: begin 
    write('x, y, z: '); readln(x,y,z);
    p:=(x+y+z)/2;    s:=sqrt(p*(p-x)*(p-y)*(p-z));    writeln('s = ',s);
    end;
 else writeln('Ошибка ввода');
 end;
end.

Пример:
Введите номер фигуры: 1) прямоугольник; 2) круг; 3) треугольник:
3
x, y, z: 3 4 5
s = 6
Даны три фигуры: 1 ) прямоугольник со сторонами a = 2, b = 3 2 ) круг радиуса r = 5 3 ) треугольник
4,5(35 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ