Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
Angelinflame
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 10
1

Нужна помощь по курсовой работе. Матрицы.

25.10.2010, 20:19. Просмотров 732. Ответов 3
Метки нет (Все метки)

Нужна помощь, по курсовой работе, матрицы
1. Найти наименьший, по абсолютной величине, элемент главной диагонали матрица s(n, n )
2 Найти среднее арифметическое всех отрицательных элементов главной диагонали матрицы AB ( m, m)
3Найти среднее арифметическое отрицательных элементов главной диагонали матрицы BB ( n, n ), удовлетворяющих условию
4Переписать наибольшие, отрицательные, элементы каждой строки матрицы DS ( m, n ) в одномерный масив D
5 Найти, по каждому столбцу, среднее арифметическое отрицательных элементов матрицы EM (m, n ) и переписать полученные величины в одномерный массив D
6 Определить индексы наибольшего , положительного, элемента матрицы CA ( m, n ) и заменить найденный элемент квадратом его значения.
7Найти, по каждой строке, среднее арифметическое элементов матрицы DD (m, n)
8Найти среднее арифметическое наименьших, по абсолютной величине, элементов каждого столбца матрицы FW (m, m ), находящийся над главной диагональю.
9Найти наименьшее, но абсолютной величине, элементы каждой строки матрицы ET ( m, m),находящиеся над главной диагональю и переписать их в одномерный массив T
10 Найти по каждой строке матрицы GI (m m ) максимальный элемент и поменять его местами с элементом главной диагонали соответствующей строки.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.10.2010, 20:19
Ответы с готовыми решениями:

нужна помощь в написании программы для вычисления значения определителя матрицы
такое задание: составить программу для вычисления значения определителя...

Нужна программа для курсовой работы
Нужна программа для курсовой работы на языке Delphi. Это может быть как...

Помощь по работе с текстовыми файлами
Здравствуйте, т.к. я не так уж долго изучаю delphi . Возникает куча вопросов,...

НУЖНА ПОМОЩЬ!
Задание такое: В элементе списка содержатся данные о планшетных сканерах:...

Нужна помощь!
Доброго дня! Кто подскажет как реализовать на Delphi 6.0 (другого компилятора...

3
AvaMight
7 / 7 / 7
Регистрация: 27.01.2010
Сообщений: 32
26.10.2010, 01:13 2
Ну в общем пока что сделал первые 4 задания.
Если не кто не поможет то завтра доделаю остальные( ибо щас охота спать).

Код и архив прикреплен снизу.

Я не замарачивался с елементарными проверками поэтому их сделай сам(а), а именно:
1-е задание: Проверить корректность ввода размерности массивов;
2-е задание: Проверить возможность отсутвия отрицательных элементов на главной диагонали.
3-е задание: Допиши условие по которому нужно отбирать отрицательные задания?
4-е задание: Проверить наличие строк без отрицательных элементов, и вставить код в указанном месте( код с прерыванием процедуры).

Ну вот так, остальные задания тоже легкие сделаю завтра:

Delphi
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids;
 
type
  TForm1 = class(TForm)
    Matrix: TStringGrid;
    MatrixR: TEdit;
    btn1: TButton;
    MatrixC: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    btn2: TButton;
    Answer1: TEdit;
    Label4: TLabel;
    Answer2: TEdit;
    ResMatrix: TStringGrid;
    btn4: TButton;
    procedure btn1Click(Sender: TObject);
    procedure btn2Click(Sender: TObject);
    procedure btn4Click(Sender: TObject);
  private
    procedure MatrixFill(Row: integer; Col:integer);
    { Private declarations }
  public
 
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.btn1Click(Sender: TObject); // Найти наименьший, по абсолютной величине, элемент главной диагонали матрица s(n, n )
var
i : integer;
Mcol,Mrow : integer;
MainDiagonMin: integer;
begin
  Mcol:=StrToInt(MatrixC.Text);
  Mrow:= StrToInt(Matrixr.Text) ;
  Matrix.ColCount:=Mcol ;
  Matrix.RowCount:=Mrow ;
  MatrixFill(Mrow,MCol);
 
  MainDiagonMin:=abs(StrToInt(Matrix.cells[0,0]))  ;
  For i:=1 to Mcol-1 do
    If abs(StrToInt(Matrix.cells[i,i]))<MainDiagonMin then MainDiagonMin:=abs(StrToInt(Matrix.cells[i,i]));
 
  Answer1.Text:=IntToStr(MainDiagonMin);
 
end;
 
procedure TForm1.MatrixFill(Row, Col: integer); // заполнение матрицы случайными числами
var
  n,m: Integer;
begin
  Randomize;
  For n:=0 to Row-1 do
    For m:=0 to Col-1 do
      Matrix.Cells[n,m]:=IntToStr(random(100)-50);
end;
 
 
 
 
 
procedure TForm1.btn2Click(Sender: TObject); //Найти среднее арифметическое всех отрицательных элементов главной диагонали матрицы AB ( m, m)
var
i : integer;
Mcol,Mrow : integer;
NegativeSumma,Kol : integer;
Result: Real;
begin
  Mcol:=StrToInt(MatrixC.Text);
  Mrow:= StrToInt(Matrixr.Text) ;
  Matrix.ColCount:=Mcol ;
  Matrix.RowCount:=Mrow ;
  MatrixFill(Mrow,MCol);
 
  Kol:=0;
  NegativeSumma:=0;
  For i:=0 to Mcol-1 do
    If (StrToInt(Matrix.cells[i,i]))<0 then
      Begin
        NegativeSumma:=NegativeSumma+StrToInt(Matrix.cells[i,i]);
        Inc(Kol);
      end;
 
  Result:=NegativeSumma/Kol;
 
  Answer2.text:=FloatToStr(Result);
 
end;
 
procedure TForm1.btn4Click(Sender: TObject);  //Переписать наибольшие, отрицательные, элементы каждой строки матрицы DS ( m, n ) в одномерный масив D
var
i : integer;
Mcol,Mrow : integer;
StringNegMin: Integer;
ResMassiv: array of integer;
m,n,k : integer;
begin
  Mcol:=StrToInt(MatrixC.Text);
  Mrow:= StrToInt(Matrixr.Text) ;
  Matrix.ColCount:=Mcol ;
  Matrix.RowCount:=Mrow ;
  MatrixFill(Mrow,MCol);
  SetLength(ResMassiv,Mrow);
 
 
  For n:=0 to Mrow-1 do
    Begin
      For m:=0 to Mcol-1 do
        If StrToInt(Matrix.Cells[m,n])<0 then StringNegMin:=(StrToInt(Matrix.Cells[m,n]));
          For m:=0 to Mcol-1 do
            Begin
              If ((StrToInt(Matrix.Cells[m,n]))>StringNegMin) and ((StrToInt(Matrix.Cells[m,n]))<0) then StringNegMin:=StrToInt(Matrix.Cells[m,n])
            end;
            ResMassiv[n]:=StringNegMin;
      end;
 
  {Сюда добавить првоерку на наличие строк без отрицательных элементов, и при наличии
  таких строк остановить программу командой Exit}
 
  ResMatrix.RowCount:=Mrow;
 
  For n:=0 to Mrow-1 do
    ResMatrix.Cells[0,n]:=IntToStr(ResMassiv[n]);
 
end;
 
end.
1
Вложения
Тип файла: rar Forum.rar (9.4 Кб, 22 просмотров)
Angelinflame
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 10
26.10.2010, 02:20  [ТС] 3
Спасибо большое за помощь
0
AvaMight
7 / 7 / 7
Регистрация: 27.01.2010
Сообщений: 32
27.10.2010, 01:53 4
Ну в общем сделал до 8 задания, остальное если что сделаю завтра( если не кто не поможет еще).

-Добавил ограничения для 4 задачи.
-Тебе осталось доделать ограничения на вводимые значения.
-Так же не делал очистку результата, поэтому не стоит клацать на все кнопки( тоесть для каждой операции перезапускать программу).
-Архив прикрепил.
0
Вложения
Тип файла: rar Forum1.rar (200.0 Кб, 25 просмотров)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.10.2010, 01:53

Нужна помощь с курсачом
В Делфи я практически не разбераюсь... а завтра сдавать курсач... помогите...

C++ и Delphi .помощь нужна
в delfhi есть строка if pos(c3,c2) как её записать в C++?

Нужна помощь c MessageDialog
Добрый день Всем!!! конкретно речь идет о mtConfirmation я сделал на форме 3...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru