Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
64 / 12 / 3
Регистрация: 04.10.2009
Сообщений: 519
1

СЛАУ

15.09.2010, 12:40. Показов 1848. Ответов 21
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вводятся элементы матрицы А - коэффициенты перед неизвестными в СЛАУ. И выводится вектор свободных членов В.

Подскажите где ошибка

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Program Laba4;
var i,j,N:integer;
    A: array [1..N, 1..N] of real;
    B: array [1..N] of real;
BEGIN
 Writeln(Vvedite chislovoe znachenie - razmernost matrici A);
  read(A);
 Writeln('Vvedite elementi matrici A');
  for i:=1 to N do
   for j:=1 to N do
    read(A[i,j]);
     writeln(A[i,j]);
 Writeln('Vvedite elementi vektora svobodnih chlenov');
  for i:=1 to N do
   read(B[i]);
    writeln(B[i]);
END.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.09.2010, 12:40
Ответы с готовыми решениями:

Решение СЛАУ
Решение СЛАУ. Для Turbo Pascal.

Решить СЛАУ
Решите численно следующую систему линейных алгебраических уравнений ...

Подпрограммы. Решение СЛАУ
При решении задачи использовать подпрограмму-процедуру. Обмен данными между главной программой и...

Решение СЛАУ методом Гаусса
Составить программу для решения СЛАУ методом Гаусса Помогите.

21
Фрилансер
452 / 433 / 117
Регистрация: 01.06.2010
Сообщений: 1,314
15.09.2010, 12:45 2
Размерность матрицы определяется величиной N... Вот и задавй значение N...
1
64 / 12 / 3
Регистрация: 04.10.2009
Сообщений: 519
15.09.2010, 12:49  [ТС] 3
Подправил...

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Program Laba4;
var i,j,N:integer;
    A: array [1..N, 1..N] of real;
    B: array [1..N] of real;
BEGIN
 Writeln(Vvedite chislovoe znachenie - razmernost matrici A);
  read(N);
 Writeln('Vvedite elementi matrici A');
  for i:=1 to N do
   for j:=1 to N do
    read(A[i,j]);
     writeln(A[i,j]);
 Writeln('Vvedite elementi vektora svobodnih chlenov');
  for i:=1 to N do
   read(B[i]);
    writeln(B[i]);
END.
Компилятор ругается в строке, где объявляется массив А
0
Фрилансер
452 / 433 / 117
Регистрация: 01.06.2010
Сообщений: 1,314
15.09.2010, 12:56 4
Так нужно изначально задать значение размерности массива, допустим так
Pascal
1
2
3
4
Const
  m=10;
Var
  a:array[1..m,1..m] of real;
1
64 / 12 / 3
Регистрация: 04.10.2009
Сообщений: 519
15.09.2010, 14:02  [ТС] 5
Большое спасибо! Исправил.

А что означает "Fatal: Compilation aborted"?

Добавлено через 11 минут
Может что-то с компилятором... не хочет работать

Добавлено через 44 минуты
Подскажите пожалуйста как вывести матрицу на экран

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Program laba4;
const N=2;
var i,j:integer;
    A: array [1..N, 1..N] of real;
    B: array [1..N] of real;
BEGIN
  Writeln('Vvedite elementi matrici A');
  for i:=1 to N do
   for j:=1 to N do
    read(A[i,j]);
     writeln(A[i,j]);
 Writeln('Vvedite elementi vektora svobodnih chlenov');
  for i:=1 to N do
   read(B[i]);
    writeln(B[i]);
    readln;
END.
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
15.09.2010, 14:18 6
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
BEGIN
  Writeln('Vvedite ',n*n,' elementov matrici A');
  for i:=1 to N do
   for j:=1 to N do
    readln(A[i,j]);
 Writeln('Vvedite ',n,' elementov vektora svobodnih chlenov');
  for i:=1 to N do
   readln(B[i]);
writeln('Matrica:');
for i:=1 to n do
 begin
  for j:=1 to n do
  write(a[i,j]:6:2);
  write(b[i]:6:2);
  writeln;
 end;
1
64 / 12 / 3
Регистрация: 04.10.2009
Сообщений: 519
15.09.2010, 14:31  [ТС] 7
А как их разбить на строки и столбцы? О_о
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
15.09.2010, 14:53 8
Ногин Антон, А разве у меня не по строкам и столбцам?
0
64 / 12 / 3
Регистрация: 04.10.2009
Сообщений: 519
15.09.2010, 15:15  [ТС] 9
Элементы выводятся одним столбцом
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
15.09.2010, 15:33 10
Ногин Антон, Ты только не сочиняй. Если написано
Pascal
1
2
3
4
5
6
7
for i:=1 to n do
 begin
  for j:=1 to n do
  write(a[i,j]:6:2);//в строку коэффициенты
  write(b[i]:6:2);//свободный член
  writeln;//на новую строку
 end;
то никак в 1 столбец не может, только если ты ручонки свои шаловливые к коду не приложил.
0
64 / 12 / 3
Регистрация: 04.10.2009
Сообщений: 519
15.09.2010, 15:46  [ТС] 11
Вроде ничего не менял

[IMG]http://s006.***********/i214/1009/5b/5b813f8727d6.jpg[/IMG]

Добавлено через 3 минуты
Сорри, не получается вставить картинку нормально
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
15.09.2010, 15:47 12
Ногин Антон, Ты мне картинкой не тычь, покажи чего в коде наделал.
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
15.09.2010, 15:53 13
Вот моя картинка
Миниатюры
СЛАУ  
0
64 / 12 / 3
Регистрация: 04.10.2009
Сообщений: 519
15.09.2010, 16:20  [ТС] 14
Прошу прощения! Вместо write писал writeln....

Добавлено через 24 минуты
А как Вы картинку вставили?
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
15.09.2010, 16:23 15
https://www.cyberforum.ru/abou... 03521.html
1
64 / 12 / 3
Регистрация: 04.10.2009
Сообщений: 519
15.09.2010, 19:37  [ТС] 16
Подскажите пожалуйста с идеей:

Дана квадратная вещественная матрица A размером NxN и вектор B размером N. Найти решение треугольной системы уравнений

Не могу понять, нужно считать, что все элементы ниже главной диагонали изначально равны нулю?
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
15.09.2010, 19:44 17
Ногин Антон, Нет, матрицу нужно привести к треугольному виду, например методом Гаусса.
Вообще почитайте о решении СЛАУ методом Гаусса в интернете, найдете и сам метод и алгоритмы и готовое решение на Делфи и Паскале. В Паскале я выкладывал на форуме, в Делфи не помню, возможно тоже. Но было бы хорошо все это проделать самому.
0
64 / 12 / 3
Регистрация: 04.10.2009
Сообщений: 519
15.09.2010, 22:25  [ТС] 18
Подсчёт главного определителя матрицы (в зависимости от её размерности)

Не найду ошибку. Подскажите пожалуйста.

Pascal
1
2
3
4
5
6
7
8
9
...
if N=0 then writeln('Vvedite korrektnuu razmernost matrici')
  else
   if N=1 then detA:=A[1,1]
  else
   if N=2 then detA:=(A[1,1]*A[2,2]-A[2,1]*A[1,2])
  else
   if N=3 then detA:=(A[1,1]*A[2,2]*A[3,3]+A[2,1]*A[3,2]*A[1,3]+A[1,2]*A[2,3]*A[3,1]-A[3,1]*A[2,2]*A[1,3]-A[3,2]*A[2,3]*A[1,1]-A[2,1]*A[1,2]*A[3,3]);
....
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
16.09.2010, 06:36 19
http://ru.wikipedia.org/wiki/%... 0%BB%D1%8C

Добавлено через 48 секунд
Если собираетесь решать по Гауссу, то зачем вам определитель?
0
64 / 12 / 3
Регистрация: 04.10.2009
Сообщений: 519
16.09.2010, 16:13  [ТС] 20
Сделал обнуление ниже главной диагонали..

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
program Project2;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils;
 
const N=3;
var i,j:integer;
    A: array [1..N, 1..N] of real;
    B: array [1..N] of real;
   begin
    Writeln('Vvedite ',N*N,' elementa(ov) matrici A');
  for i:=1 to N do
   for j:=1 to N do
    read(A[i,j]);
 
 Writeln('Vvedite ',N,' elementa(ov) vektora svobodnih chlenov');
  for i:=1 to N do
   read(B[i]);
 Writeln('Matrica');
   for i:=1 to N do begin
    for j:=1 to N do begin
     if j<i then A[i,j]:=0;
     end;
     end;
     for i:=1 to N do
   begin
    for j:=1 to N do
     write(A[i,j]:6:0);
     write(B[i]:6:0);
     writeln;
   end;
 
 
    readln;
    readln;
END.
Как теперь реализовать обратный ход? Можно через цикл for с понижающим счётчиком?
0
16.09.2010, 16:13
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.09.2010, 16:13
Помогаю со студенческими работами здесь

СЛАУ методом Жордана-Гаусса
СРОЧНО!!!!!! Помогите пожалуйста найти ошибку. Мне нужно решить СЛАУ методом Жордана-Гаусса ...

Решение СЛАУ методом Зейделя
Доброго времени суток! Помогите пожалуйста написать программу решения систем линейных уравнений...

Решение СЛАУ-3 методом Гаусса (Крамера).
решите пожалуйста Для СЛУ-3 найти неизвестные методом Гаусса (Крамера).

Слау методом простых итерации. Не решаемое??
Здравствуйте все! Есть задание: Решить систему линейных алгебраических уравнений методом...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru