По разделам



Задача Begin 40


Найти решение системы линейных уравнений вида
A1·x + B1·y = C1,
A2·x + B2·y = C2,
заданной своими коэффициентами A1, B1, C1, A2, B2, C2, если известно,
что данная система имеет единственное решение. Воспользоваться формулами
x = (C1·B2 − C2·B1)/D, y = (A1·C2 − A2·C1)/D,
где D = A1·B2 − A2·B1.

Код (C/C++)

#include <stdio.h>
#include <math.h>

int main(void)
{
    float A1,B1,C1,A2,B2,C2;
    printf("A1:");
    scanf ("%f", &A1);

    printf("B1:");
    scanf ("%f", &B1);

    printf("C1:");
    scanf ("%f", &C1);

    printf("A2:");
    scanf ("%f", &A2);

    printf("B2:");
    scanf ("%f", &B2);

    printf("C2:");
    scanf ("%f", &C2);

    float D;
    D=A1*B2-A2*B1;

    float x,y;
    x=(C1*B2-C2*B1)/D;
    y=(A1*C2-A2*C1)/D;

    printf("x:%f\ny:%f\n",x,y);


    return 0;
}

Код (Python)

import random
import math

r = list(range(-10,0)) + list(range(1,11))
A1 = random.choice(r)
A2 = random.choice(r)
B2 = random.choice(r)
k1 = int(math.floor(A1 * B2 / A2))
k2 = int(math.ceil(A1 * B2 / A2))
r1 = list(range(k1-10,k1)) + list(range(k2,k2+11))
B1 = random.choice(r1)
D = A1*B2 - A2*B1
C1 = random.randrange(-10,11)
r1 = list(range(C1-10,C1)) + list(range(C1+1,C1+11))
C2 = random.choice(r1)

print("A1 = ",A1)
print("B1 = ",B1)
print("C1 = ",C1)
print()
print("A2 = ",A2)
print("B2 = ",B2)
print("C2 = ",C2)
print("D = ",D)
print()
print("({0})x + ({1})y = {2}".format(A1,B1,C1))
print("({0})x + ({1})y = {2}".format(A2,B2,C2))

x = (C1*B2 - C2*B1)/D
y = (A1*C2 - A2*C1)/D
print("x = ",x)
print("y = ",y)
print("Check Equation 1:",A1*x+B1*y)
print("Check Equation 2:",A2*x+B2*y)
									

Код (Pascal)

program Begin40;
var
  A1,B1,C1,A2,B2,C2,D,x,y: Real;
begin
  Write('Введите коэфициент A1: ');
  Readln(A1);
  Write('Введите коэфициент B1: ');
  Readln(B1);
  Write('Введите коэфициент C1: ');
  Readln(C1);
  Write('Введите коэфициент A2: ');
  Readln(A2);
  Write('Введите коэфициент B2: ');
  Readln(B2);
  Write('Введите коэфициент C2: ');
  Readln(C2);
  D:=A1*B2-A2*B1;
  x:=(C1*B2-C2*B1)/D;
  y:=(A1*C2-A2*C1)/D;
  Writeln('X равен : ',X);
  Writeln('Y равен : ',Y);
end.
									




Begin. Абрамян
Begin 1 Просмотров: 48
Begin 2 Просмотров: 33
Begin 3 Просмотров: 32
Begin 4 Просмотров: 29
Begin 5 Просмотров: 33
Begin 6 Просмотров: 31
Begin 7 Просмотров: 31
Begin 8 Просмотров: 28
Begin 9 Просмотров: 29
Begin 10 Просмотров: 35
Begin 11 Просмотров: 40
Begin 12 Просмотров: 39
Begin 13 Просмотров: 32
Begin 14 Просмотров: 60
Begin 15 Просмотров: 30
Begin 16 Просмотров: 35
Begin 17 Просмотров: 32
Begin 18 Просмотров: 29
Begin 19 Просмотров: 36
Begin 20 Просмотров: 29
Begin 21 Просмотров: 29
Begin 22 Просмотров: 24
Begin 23 Просмотров: 17
Begin 24 Просмотров: 26
Begin 25 Просмотров: 19
Begin 26 Просмотров: 21
Begin 27 Просмотров: 25
Begin 28 Просмотров: 30
Begin 29 Просмотров: 34
Begin 30 Просмотров: 23
Begin 31 Просмотров: 29
Begin 32 Просмотров: 29
Begin 33 Просмотров: 27
Begin 34 Просмотров: 28
Begin 35 Просмотров: 29
Begin 36 Просмотров: 24
Begin 37 Просмотров: 31
Begin 38 Просмотров: 30
Begin 39 Просмотров: 28
Begin 40 Просмотров: 25

Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться