• Даны два вектора b = (b1, b2, ..., bn), x = (x1,x2, ..., xn) и матрица А(nxn). Написать программу вычисления длины вектора Ах + b.

Ответы 4

  • Спасибо! Как сделать чтобы числа были целые?
    • Автор:

      raelynn
    • 5 лет назад
    • 0
  • Типы данных вы на первом либо втором уроке проходили. Но целый тип при возведении в квадрат - почти в самом конце программы - даёт отрицательные числа, из-за выхода за границу диапазона. Слишком уж числа большие получаются.
  • Просто значения рандома получаются не очень красивые
    • Автор:

      aiden98
    • 5 лет назад
    • 0
  • Const   N = 4;Var   A:array[1..N,1..N] of real;   B,X,AX:array[1..N] of real;   i,j:integer;   S:real;BeginRandomize;Write('B(',N,'):');For i:= 1 to N do    Begin    B[i]:=random(721)-360;    Write(' ',B[i]:4)    End;WriteLn;Write('X(',N,'):');For i:= 1 to N do    Begin    X[i]:=random(721)-360;    Write(' ',X[i]:4)    End;WriteLn;WriteLn('A(',N,',',N,'):');For i:= 1 to N do    Begin    Write('     ');    For j:= 1 to N do        Begin        A[i,j]:=random(721)-360;        Write(' ',A[i,j]:4)        End;    WriteLn;    End;WriteLn;Write('AX:');For i:= 1 to N do    Begin    AX[i]:=0;    For j:= 1 to N do        Begin        AX[i]:=AX[i]+A[i,j]*X[j];        End;    Write(' ',AX[i])    End;WriteLn;Write('AX+B:');For i:= 1 to N do    Begin    X[i]:=AX[i]+B[i];    Write(' ',X[i])    End;WriteLn;Write('|Ax+b| = ');S:=0;For i:= 1 to N do    Begin    S:=S+X[i]*X[i];    End;WriteLn(Sqrt(S))End.Пример:B(4):  -51  179  276 -273X(4): -272 -261  -57  304A(4,4):      -169  -94  245 -346      -351 -176  280    1      -193 -330  219  -54       338  -57  -44 -328AX: -48647 125752 109727 -174263AX+B: -48698 125931 110003 -174536|Ax+b| = 246563.556248688
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years