Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 03.11.2019
Сообщений: 42

Составить подпрограмму решения системы двух линейных алгебраических уравнений по правилу Крамера

18.11.2019, 18:21. Показов 2330. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Есть задание. Работа с Функциями.
Составить подпрограмму решения системы двух линейных
алгебраических уравнений по правилу Крамера.

ax+by=u
cx=dy=v

Вот листинг программы, который вышел у меня. Помогите - прошу. Получилось для матрицы третьего порядка, однако нужно переделать под второй порядок.


Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
program fun;
uses crt;
const s=4;
type a=array[1..s,1..s] of real;
var
a1,a2:a;
x,b:array[1..s] of real;
i,j,m,n:byte;
dx,dxx:real;
function det(a2:a):real;
var
y,z:a;
i,j,k:byte;
sum,d:real;
begin
for i:=1 to s do begin
y[i,1]:=a2[i,1];
z[i,i]:=1;
end;
for j:=1 to s do z[1,j]:=a2[1,j]/y[1,1];
for i:=2 to s do
for j:=2 to s do begin
if (j>=2) and (i>=j) then begin
sum:=0;
for k:=1 to j-1 do sum:=sum+y[i,k]*z[k,j];
y[i,j]:=a2[i,j]-sum;
end;
if (i>=2) and (j>=i) then begin
sum:=0;
for k:=1 to i-1 do sum:=sum+y[i,k]*z[k,j];
if y[i,i]<>0 then z[i,j]:=(a2[i,j]-sum)/y[i,i];
end;
end;
d:=1;
for i:=1 to s do d:=d*y[i,i];
det:=d;
end;
begin
clrscr;
writeln('a1');
for i:=1 to s do begin
write(' -->');for j:=1 to s-1 do read(a1[i,j]);
readln(a1[i,s]); end;
writeln('b');
for i:=1 to s do read(b[i]);
for n:=1 to s do
for m:=1 to s do a2[n,m]:=a1[n,m];
dx:=det(a2);
for j:=1 to s do begin
for n:=1 to s do
for m:=1 to s do a2[n,m]:=a1[n,m];
for i:=1 to s do a2[i,j]:=b[i];
dxx:=det(a2);
x[j]:=dxx/dx;
write('x',j,'=',x[j]:8:3);
end;
readkey;
end.
Добавлено через 25 минут
Есть еще такой вариант, тут сделано уже для матрицы два на два, но это ведь еще и система, как быть?, но даже так считает не правильно. В чем ошибка?

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
program kramer;
uses crt;
var
a,d:array[1..2,1..2] of integer;
b:array[1..2] of integer;
i,j,k:integer;
x1,x2,Y,t:real;
r:array[1..2] of real;
procedure anyk;
begin
for i:=1 to 2 do
for j:=1 to 2 do
x1:=(d[1,1]*d[2,2]+d[2,1]+d[1,2]);
x2:=(d[2,2]+d[1,1]+d[1,2]*d[2,1]);
Y:=x1-x2;
end;
procedure delta(k:integer);
begin
for i:=1 to 2 do
for j:=1 to 2 do
if j=k then d[i,j]:=b[i] else d[i,j]:=a[i,j];
end;
begin clrscr;
for i:=1 to 2 do
begin
for j:=1 to 2 do
begin
write(' a[',i,j,']=');
read(a[i,j]); end;
writeln; end;
for j:=1 to 2 do
begin
write('b[',j,']=');
readln(b[j]); end;
for i:=1 to 2 do
for j:=1 to 2 do
d[i,j]:=a[i,j];
anyk;
t:=Y;
delta(1);
anyk;
r[1]:=Y/t;
delta(2);
anyk;
r[2]:=Y/t;
for i:=1 to 2 do
writeln('x',i,'=',r[i]);
readln(i);
end.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.11.2019, 18:21
Ответы с готовыми решениями:

составить программу решения системы линейных алгебраических уравнений
Составить программу след. методами: Методом Гаусса с выбором главного элемента, Методом Крамера. Программно реализовать...

Решения систем линейных алгебраических уравнений методом Крамера и Блочным
Нужно написать код решения систем линейных алгебраических уравнений методом Крамера и Блочным.Буду очень благодарен за помощь и...

Расчет системы линейных алгебраических уравнений методом Крамера
Нужно создать приложение, которое будет считать системы линейных алгебраических уравнений методом Крамера. Значения должны вводиться с...

2
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
19.11.2019, 10:15
Лучший ответ Сообщение было отмечено nebula_ как решение

Решение

Попробуйте так.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
function Korni(a1,b1,c1,a2,b2,c2:real;var x,y:real):boolean;
var d,d1,d2:real;
    f:boolean;
begin
d:=a1*b2-a2*b1;
f:=d<>0;
if f then
 begin
  d1:=c1*b2-b1*c2;
  d2:=c2*a1-a2*c1;
  x:=d1/d;
  y:=d2/d;
 end;
Korni:=f;
end;
var a,b,u,c,d,v,x,y:real;
    f:boolean;
begin
writeln('Введите коэффициенты a,b,u первого уравнения');
readln(a,b,u);
writeln('Введите коэффициенты c,d,v второго уравнения');
readln(c,d,v);
f:=Korni(a,b,u,c,d,v,x,y);
if f then writeln('x=',x:0:2,' y=',y:0:2)
else writeln('Система не определена');
end.
0
0 / 0 / 0
Регистрация: 03.11.2019
Сообщений: 42
19.11.2019, 21:11  [ТС]
благодарю
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.11.2019, 21:11
Помогаю со студенческими работами здесь

Решение системы линейных уравнений третьего порядка по правилу Крамера
Напишите функцию для решения системы линейных уравнений третьего порядка по правилу Крамера

Написать программу решения системы линейных алгебраических уравнений
Всем привет! Прошу помочь разобраться. Нужно: Написать программу решения системы линейных алгебраических уравнений одним из следующих...

Метод Гаусса решения системы линейных алгебраических уравнений и его модификации
1. Реализовать в виде отдельной процедуры метод Гаусса решения системы линейных алгебраических уравнений. Равенство нулю ведущего элемента...

Составить программу решения системы линейных алгебраических уровнений
Скласти програму розв'язання системи лінійних алгебраїчних рівнянь двома методами:  методом оберненої матриці,  методом...

Разложение Холецкого симметричной матрицы коэффициентов и его использование для решения системы линейных алгебраических уравнений
41 x1+15x2+10x3-48x4+42x5=1, 15x1+38x2-17x3-18x4+12x5=-6, 10x1-17x2+175x3+15x4+9x5+4=0, -48x1-18x2+15x3+78x4-40x5+9=0, ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru