Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.12.2010, 19:43   #1
KitoPoni
Пользователь
 
Регистрация: 15.12.2010
Сообщений: 11
По умолчанию Разработать проект преобразования квадратной матрицы в треугольную!!

Помогите пожалуйста сделать программу! Delphi

Разработать проект преобразования квадратной матрицы в треугольную и выполнения операций с элементами треугольной матрицы, конкретизированные в вариантах заданий.
При разработке проекта предусмотреть:
1. Задание размерности n квадратной матрицы А;
2. Задание элементов матрицы двумя способами:
2.1. ввод с клавиатуры;
2.2. формирование значений с помощью функции RANDOM(K) генерирования случайных чисел в диапазоне [0..К-1].
3. Формируемые или задаваемые с клавиатуры числа должны принимать значения от MIN до MAX.
4. Контроль полноты ввода данных и выполнения условия задания чисел в заданном диапазоне.
5. Выделение треугольной матрицы, образованной элементами D (главной или побочной) диагонали и элементами, лежащими F (выше или ниже) D диагонали;
6. Вычислить S элементов треугольной матрицы.
7. Представление результатов обработки данных в форме, удобной для чтения и проверки.

Задание.

Побочной-(D) Выше-(F) Максимальное значение из всех положительных-(S) -76-(MIN) 80-(MAX)
KitoPoni вне форума Ответить с цитированием
Старый 15.12.2010, 19:48   #2
Ybn2
Форумчанин
 
Регистрация: 18.11.2010
Сообщений: 183
По умолчанию

Ну такие программы вам за бесплатно не сделают. Только помогут, если есть наработки и конкретные вопросы.
Ybn2 вне форума Ответить с цитированием
Старый 15.12.2010, 19:56   #3
KitoPoni
Пользователь
 
Регистрация: 15.12.2010
Сообщений: 11
По умолчанию

и все же я надеюсь на помощь.
KitoPoni вне форума Ответить с цитированием
Старый 15.12.2010, 20:00   #4
Ybn2
Форумчанин
 
Регистрация: 18.11.2010
Сообщений: 183
По умолчанию

Цитата:
Сообщение от KitoPoni Посмотреть сообщение
и все же я надеюсь на помощь.
Тогда показывайте ваши наработки и по потихоньку будем помогать.
Ybn2 вне форума Ответить с цитированием
Старый 15.12.2010, 20:04   #5
KitoPoni
Пользователь
 
Регистрация: 15.12.2010
Сообщений: 11
По умолчанию

Я до этого не работал с делфи.(
KitoPoni вне форума Ответить с цитированием
Старый 15.12.2010, 20:13   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Вот тебе набросок:
Код:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;
type
 tmatr=class
 private
  a:array of array of integer;
    FMin: integer;
    Fn: Integer;
    FMax: integer;
    procedure SetMax(const Value: integer);
    procedure SetMin(const Value: integer);
    procedure Setn(const Value: Integer);
 public
  property n:Integer read Fn write Setn;
  property Min:integer read FMin write SetMin;
  Property Max:integer read FMax write SetMax;
  procedure InputFromKeyboard;
  procedure InputFromPotolok;
  procedure F;
  procedure D;
 end;
{ tmatr }

procedure tmatr.F;
var j,i:integer;
begin
 for i:=low(a) to high(a) do begin
  for j:=low(a) to high(a[i]) do begin
   if j<i then write('     ') else   write(a[i,j]:5);
  end;writeln;
 end; writeln;
end;

procedure tmatr.D;
var j,i:integer;
begin
 for i:=low(a) to high(a) do begin
  for j:=low(a) to high(a[i]) do begin
   if j>i then write('     ') else   write(a[i,j]:5);
  end;writeln;
 end; writeln;
end;

procedure tmatr.InputFromKeyboard;
var j,i:integer;
begin
 for i:=low(a) to high(a) do
  for j:=low(a[i]) to high(a[i]) do
   read(a[i,j]);
end;

procedure tmatr.InputFromPotolok;
var j,i:integer;
begin
 for i:=low(a) to high(a) do
  for j:=low(a[i]) to high(a[i]) do
   a[i,j]:=min+random(max-min);
end;

procedure tmatr.SetMax(const Value: integer);
begin
  FMax := Value;
end;

procedure tmatr.SetMin(const Value: integer);
begin
  FMin := Value;
end;

procedure tmatr.Setn(const Value: Integer);
begin
  Fn := Value;
  SetLength(a,n,n);
end;

var m:tmatr;
begin
 m.n:=10;
 m.Min:=1;m.Max:=100;
 m.InputFromPotolok;
 m.F;m.D;
 m.Free;
  { TODO -oUser -cConsole Main : Insert code here }
 readln;
end.
Твоя задача доработать проверку на корректность ввода с клавиатуры, и... Исправить еще одну ма-а-аленькую ошибочку по поводу создания обьекта.
Если ты усидчивый - у тебя все получится.
Успехов.

P.S. если что у меня эта программа выдает такое:
Цитата:
1 4 86 21 28 67 32 17 37 43
48 7 84 6 30 91 37 77 33
72 31 17 33 47 25 82 28
29 77 97 49 88 82 3
59 1 77 65 77 71
64 99 25 67 30
95 68 34 1
78 59 86
54 96
74

1
9 48
70 84 72
48 15 87 29
14 15 50 3 59
56 21 68 59 95 64
9 77 50 88 51 57 95
70 98 77 75 20 15 91 78
69 29 10 63 28 87 16 28 54
18 16 27 18 58 50 29 16 61 74
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.12.2010, 21:13   #7
KitoPoni
Пользователь
 
Регистрация: 15.12.2010
Сообщений: 11
По умолчанию

Что это значит?
Когда я пытаюсь проверить программу, выдает ошибку.

Error in module Unit 1: Declaration of class TForm1 is missing or incorrect
KitoPoni вне форума Ответить с цитированием
Старый 16.12.2010, 14:37   #8
Z1000000
Форумчанин
 
Регистрация: 04.05.2010
Сообщений: 495
По умолчанию

Это значит, что Stilet создал консольное приложение в Дельфи о чем говорит, например строка
Код:
{$APPTYPE CONSOLE}
А ты пытаешься этот код засунуть в модуль приложения Win32.
Создай в дельфи консольное приложение и замени в нем код на этот.
Нажми на весы, поставь +
Для благодарностей : WebMoney WMR R252732729948
Z1000000 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание квадратной матрицы Sl@m Помощь студентам 2 26.11.2010 08:39
Получение квадратной матрицы Ramil90 Помощь студентам 1 19.11.2010 16:45
транспонирование квадратной матрицы 777UFO777 Общие вопросы Delphi 1 04.12.2008 19:31
Определитель квадратной матрицы Tomoyo Помощь студентам 22 04.11.2008 22:37