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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.10.2007, 19:05   #21
POPOV
Форумчанин
 
Аватар для POPOV
 
Регистрация: 26.10.2007
Сообщений: 124
По умолчанию

Цитата:
Сообщение от Maslan Посмотреть сообщение
"А вот как делать само перемножение по правилам, где какие циклы ставить понятия не имею )." А как вообще матрицы умножаются знаешь?

Знаю.. Для этого отрыл тетрадь по математике
POPOV вне форума Ответить с цитированием
Старый 28.10.2007, 20:09   #22
KORT
Вот я и
Форумчанин
 
Аватар для KORT
 
Регистрация: 07.04.2007
Сообщений: 501
По умолчанию

Цитата:
Сообщение от Maslan Посмотреть сообщение
Эх, студиоузы..... =)
Как будто сам не был студентом
кто-то знает больше, кто-меньше.
бывает такое когда в голову ничего не лезет, а бывает и наоборот.
Исходники программ - http:\\www.kort.3dn.ru

Последний раз редактировалось KORT; 28.10.2007 в 21:00.
KORT вне форума Ответить с цитированием
Старый 28.10.2007, 20:45   #23
Maslan
Форумчанин
 
Регистрация: 15.10.2007
Сообщений: 147
По умолчанию

KORT,
Цитата:
Как будто сам не был студентом
Был, конечно. И под "Эх, студиоузы..... =)" я ничегошеньки плохого не подразумевал. Может быть дак кусочек зависти есть =).
А вот "бывает такое когда в голову ничего не лезет" - понимаю, но знаю и другое - если дать сразу полный код и не заставить пошуршать мазгами хоть чуток, то любой вопрос препода может оказаться последним =). Поэтому я и торможу ответы.

POPOV, Часов в 10 выложу кусок кода для матриц из StringGrid и файлов.
Maslan вне форума Ответить с цитированием
Старый 28.10.2007, 20:53   #24
POPOV
Форумчанин
 
Аватар для POPOV
 
Регистрация: 26.10.2007
Сообщений: 124
По умолчанию

Дайте-ка я вылолжу сюда прогу на текщей стадии выполнения. Проще же будет просто исправить и доделать, чем самому всё писать =)

В приложении это закладка TStringGrid. Короче пиркреплённый файл смотрите
Вложения
Тип файла: rar 7.rar (666.9 Кб, 17 просмотров)
POPOV вне форума Ответить с цитированием
Старый 28.10.2007, 20:55   #25
KORT
Вот я и
Форумчанин
 
Аватар для KORT
 
Регистрация: 07.04.2007
Сообщений: 501
По умолчанию

Цитата:
Сообщение от Maslan Посмотреть сообщение
я ничегошеньки плохого не подразумевал. Может быть дак кусочек зависти есть =).
Я понял тебя сразу, но для подстраховки спросил.
Исходники программ - http:\\www.kort.3dn.ru

Последний раз редактировалось KORT; 28.10.2007 в 20:59.
KORT вне форума Ответить с цитированием
Старый 28.10.2007, 20:55   #26
KORT
Вот я и
Форумчанин
 
Аватар для KORT
 
Регистрация: 07.04.2007
Сообщений: 501
По умолчанию

Цитата:
Сообщение от Maslan Посмотреть сообщение
А вот "бывает такое когда в голову ничего не лезет" - понимаю, но знаю и другое - если дать сразу полный код и не заставить пошуршать мазгами хоть чуток, то любой вопрос препода может оказаться последним =).
Согласен на 100%
Исходники программ - http:\\www.kort.3dn.ru

Последний раз редактировалось KORT; 28.10.2007 в 20:59.
KORT вне форума Ответить с цитированием
Старый 28.10.2007, 22:00   #27
Maslan
Форумчанин
 
Регистрация: 15.10.2007
Сообщений: 147
По умолчанию

Первое - подправь процедуру зоздания матрицы В, чтобы её размеры сохранялись в глобальных переменных B_r и B_c :
Код:
procedure TForm1.Button1Click(Sender: TObject);
var s:string;
begin
s:=edit5.text;
B_r:=StrToInt(Copy(S,1,Pos(',',s)-1));
B_c:=StrToInt(Copy(S,Pos(',',s)+1,Length(s)));
StringGrid2.ColCount:=B_c;
StringGrid2.RowCount:=B_r;
StringGrid2.height:=B_r*StringGrid1.DefaultRowHeight+10;
StringGrid2.Width:=B_c*StringGrid1.DefaultColWidth+10;
end;

Умножение на StringGrid'ах (Кстати, у всех компонентов на форме есть параметр Name, через который к ним обращаться, И если при создании StringGrid1 ты нашёл бы это поле и подправил его на A (и с другими - тоже), то работать с этими гридами было бы куда удобнее. Но это так... к слову
Код:
procedure TForm1.Button8Click(Sender: TObject); // Кнопка "Вычислить" на закладке "TStringGrid"
var
i,j,ad,k:integer;
begin
for i := 0 to A_r-1 do //   перебираем все строки матрицы А
  for j := 0 to B_c-1 do //   перебираем все столбцы матрицы В
   begin
     ad:=0;
     for k := 0 to B_r-1 do
      ad:=ad+StrToInt(StringGrid1.Cells[k,i])*StrToInt(StringGrid2.Cells[j,k]);
     StringGrid3.Cells[j,i]:=IntToStr(ad);
   end;
end;
И, наконец, использование "метода загрузки из файла":
Код:
procedure TForm1.Button10Click(Sender: TObject);
Var i,j,k,rez:integer;
s,s1:string;
 a:array [1..10,1..10] of integer;
b:array [1..10,1..10] of integer;
begin
 Memo2.Lines.LoadFromFile(Edit3.Text);// <загружаем файл матрицы А
 Memo5.Lines.LoadFromFile(Edit7.Text);// загружаем файл матрицы В

//Имеем два TMemo с матрицами, которые надо умножить.
//Это уже было, поэтому просто копируем, подправляя названия компонентов

s:=Edit4.Text;
A_r:=StrToInt(Copy(S,1,Pos(',',s)-1));
A_c:=StrToInt(Copy(S,Pos(',',s)+1,Length(s)));
B_r:=A_c;
s:=Edit8.Text;
B_c:=StrToInt(Copy(S,Pos(',',s)+1,Length(s)));
for i := 1 to A_r do
  begin
   s:=Memo2.Lines.Strings[i-1];
   if s[Length(s)]<>' ' then s:=s+' ';
  for j := 1 to A_c do
    begin
      s1:=Copy(s,1,Pos(' ',s)-1);
      a[i,j]:=StrToInt(s1);
      delete(s,1,Length(s1)+1);
    end;
  end;
for i := 1 to B_r do
  begin
   s:=Memo5.Lines.Strings[i-1];
   if s[Length(s)]<>' ' then s:=s+' ';
  for j := 1 to B_c do
    begin
      s1:=Copy(s,1,Pos(' ',s)-1);
      b[i,j]:=StrToInt(s1);
      delete(s,1,Length(s1)+1);
    end;
  end;S:='';
for i := 1 to A_r do
 begin
  for j := 1 to B_c do
   begin
     rez:=0;
     for k := 1 to B_r do
      rez:=rez+a[i][k]*b[k][j];
    s:=s+IntToStr(rez)+' ';
   end;
 Memo6.Lines.Add(s);
 s:='';
 end;
Maslan вне форума Ответить с цитированием
Старый 29.10.2007, 01:11   #28
POPOV
Форумчанин
 
Аватар для POPOV
 
Регистрация: 26.10.2007
Сообщений: 124
Хорошо COOL!

Всё, о боже ,ураааааааааааааааааа!!!!!!
При работе со способом загрузки из файла прога отказывалась выводить информацию из файлов, а так же результат. Попробовал вставить очистку всех TMemo и всё заработало !!!!

Блин, Maslan, реально помог мне нереально ваще ))))
Всё, на этом можно закрыть эту жестокую темку и ждать следующих задач с матрицами (ШУТКА).

Спасибо огромное за помощь, удачи, до скорых встреч ))))
POPOV вне форума Ответить с цитированием
Старый 29.10.2007, 06:39   #29
KORT
Вот я и
Форумчанин
 
Аватар для KORT
 
Регистрация: 07.04.2007
Сообщений: 501
По умолчанию

Цитата:
Сообщение от POPOV Посмотреть сообщение
Всё, о боже ,ураааааааааааааааааа!!!!!!
При работе со способом загрузки из файла прога отказывалась выводить информацию из файлов, а так же результат. Попробовал вставить очистку всех TMemo и всё заработало !!!!

Блин, Maslan, реально помог мне нереально ваще ))))
Всё, на этом можно закрыть эту жестокую темку и ждать следующих задач с матрицами (ШУТКА).

Спасибо огромное за помощь, удачи, до скорых встреч ))))
Когда я это, я едва сдерживался от слез...
Исходники программ - http:\\www.kort.3dn.ru
KORT вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача,опять же с матрицей groth88 Паскаль, Turbo Pascal, PascalABC.NET 3 16.04.2008 13:22
Задача с матрицей. Ломаю голову уже неделю Damokl Помощь студентам 6 19.12.2007 03:20
Задача с матрицей H[o][o]K Помощь студентам 1 15.12.2007 16:51
Задача с матрицей(нужна помощь) VDK23RUS Помощь студентам 5 14.06.2007 12:55
Задача с матрицей, Паскаль Integra Помощь студентам 1 25.04.2007 16:14