Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 15.12.2008, 18:15   #1
DannerDOS.kz
 
Регистрация: 15.12.2008
Сообщений: 3
По умолчанию Интересная задача! -

Написать программу: Обнуления значений матрицы метадом Гаусса, обнуление происходит по диогонали ниже стоящих значений, мнимая диогональ проходит от значения "А11" до "Аnn", при этом первая строка остается первоначальной и все значения матрицы зануляются по отношению с этой строкой... Метод Гаусса вы сможете рассмотреть здесь: http://matclub.ru/lec1/lec111.htm Примечание: Придерживайтесь метода Гаусса! Все могут решить данную задачу но вот в чем делемма: неукого (из мойх согрупников) конечная матрица является неверной!
И так... Я тоже приступлю к решению данной задачи! Всем уважающем себя программистам желаю удачи! Let's GO!
DannerDOS.kz вне форума Ответить с цитированием
Старый 16.12.2008, 15:01   #2
DannerDOS.kz
 
Регистрация: 15.12.2008
Сообщений: 3
По умолчанию Привет! Вот у меня почемуто получилось_zzZ

А вот и сам КОД :::
Код:

Program Zadacha_DannerDOS;
Uses crt;
Var matrix_B:array[1..10] of real;
    matrix_A:array[1..10,1..10] of real;
    i,j,m,k : integer; kf:Real;

{ Процедура занулевывание значений матрицы }
  Procedure MtToNull (Var i,j : integer);
  Var kf,k: real; h:Integer;
  Begin

    kf:=matrix_a[2,j+1]/matrix_a[1,j+1];
    k:=kf*matrix_a[1,j+1];
    matrix_a[i,j]:=matrix_a[2,j+1]-k;
    
    For h := 1 to m do begin
    matrix_a[i,h] := matrix_a[i,h] * kf;
    matrix_b[j+1] := matrix_b[j+1] * kf;

  end;
  
  End;

{ Процедура вывода матрицы на экран }
  Procedure WriteMatrix;
  Var i,j: integer;
  Begin
    For i := 1 to m do begin
      For j := 1 to m do Write(matrix_a[i,j]:8:2);
      Writeln('      | ', matrix_b[i]:8:2);
    end;
  End;

Begin
ClrScr;
Writeln('':15,'Решение матриц метадом Гауса');
Writeln('Задайте длины строк матрицы и столбцов:');
Write('m = '); Readln(m);
WriteLn('Задайте значения данной матрицы');
For i := 1 to m do
For j := 1 to m do begin
  Write('Элемент А[',i,':',j,']=');
  Readln(matrix_a[i,j]);
End;
WriteLn('Задайте числовое значение равенств строк = ');
For i := 1 to m do begin
  Write('Элемент B[',i,']=');
  Readln(matrix_b[i]);
End;
ClrScr;
Writeln('Исходная матрица:');
WriteMatrix;
Writeln('------------------------------------------');

k := 1;

For i := 2 to m do begin
  k := i - 1;
  For j:= 1 to k do begin
    if matrix_a[i,j] <> 0 then MtToNull(i,j);
  end;
End;

Writeln('Конечный результат:');
WriteMatrix;

Readln;
Readln;
END.
У кого есть еще варианты? - сМеЛеЙ!!!
DannerDOS.kz вне форума Ответить с цитированием
Старый 16.12.2008, 15:04   #3
DannerDOS.kz
 
Регистрация: 15.12.2008
Сообщений: 3
По умолчанию Только еще нужно Х-сы находить ну это и нетакая-уж проблема!

- Алоуха!
DannerDOS.kz вне форума Ответить с цитированием
Ответ
Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Интересная задача. Нужны идеи ее решения KnDmPetr Паскаль, Turbo Pascal, PascalABC.NET 11 05.03.2008 19:43
Интересная задача Ser Паскаль, Turbo Pascal, PascalABC.NET 3 27.02.2008 01:19
Интересная задача(MediaPlayer) PilGrim Компоненты Delphi 3 03.12.2007 09:46
интересная задача про DataTimePicker ГОСЕАН БД в Delphi 8 15.07.2007 16:37