Entwickler-Ecke
Sonstiges (Delphi) - Matrizen Multiplikation????
huy_beo - Mi 10.10.07 19:09
Titel: Matrizen Multiplikation????
hallo freunde.....
ich lerne gerade im Info über Datenstruktur,genau gesagt über Felder!!
und soll ne Programm schreiben, könnt ihr mir das helfen!!
Aufgabe :
Informiere Dich über die Matrizenmultiplikation
Erstelle ein Struktogramm für die Matrizenmultiplikation
Schreibe ein strukturiertes Programm welches 2 Matrizen gleicher Struktur multipliziert. Die Dimension der Matrizen sei maximal 8,8.
ich soll diese Programm mit array [....] of integer machen!!kann jemand mir helfen?
danke
Christian S. - Mi 10.10.07 19:14
Hallo und :welcome:!
Vorweg: Deine Hausaufgaben wir Dir hier niemand machen. Aber: Wir helfen Dir gerne dabei, sie selber zu machen.
Wie sehen denn Deine Ansätze bisher aus und wo kommst Du nicht weiter?
Grüße
Christian
huy_beo - Mi 10.10.07 19:28
der lehrer hat gesagt man soll es mit for schleifen machen!aba ich weißt nicht wie....
ich habe so gemacht..und es läuft aba auch...aber ich weißt nicht ob das mit array oder nicht?
Quelle:
Delphi-Quelltext
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:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids;
type
Paul=array[1..8,1..8] of integer;
TForm1 = class(TForm) StringGrid1: TStringGrid; StringGrid2: TStringGrid; StringGrid3: TStringGrid; Label1: TLabel; Button1: TButton; procedure FormCreate(Sender: TObject); procedure Eingabe(var x,y,c:integer); procedure Button1Click(Sender: TObject); procedure FormShow(Sender: TObject); private public end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Eingabe(var x,y,c:integer); var i1, i2, i3, iErgebnis: integer; begin for i1 := 0 to 7 do for i2 := 0 to 7 do begin iErgebnis := 0; for i3 := 0 to 7 do begin iErgebnis := iErgebnis + strtoint(stringgrid1.cells[i1,i3])*strtoint(stringgrid2.cells[i3,i2]); end; stringgrid3.cells[i1, i2]:=inttostr(iErgebnis); end;
end;
procedure TForm1.FormCreate(Sender: TObject); begin stringgrid3.visible:=false; end;
procedure TForm1.FormShow(Sender: TObject);
var i1, i2: integer; begin for i1 := 0 to 7 do for i2 := 0 to 7 do begin stringgrid1.cells[i1, i2]:='1'; stringgrid2.cells[i1, i2]:='1'; end; end;
procedure TForm1.Button1Click(Sender: TObject);
var i1, i2, i3, iErgebnis: integer; begin for i1 := 0 to 7 do for i2 := 0 to 7 do begin iErgebnis := 0; for i3 := 0 to 7 do begin try iErgebnis := iErgebnis + StrToInt(stringgrid1.cells[i1,i3])*StrToInt(stringgrid2.cells[i3,i2]); except begin
MessageDlg('In alle Zeilen von Grid1 und Grid2 sollen Zahlen sein.', mtError, [mbOk], 0); stringgrid3.Visible := false; exit; end; end; end; stringgrid3.cells[i1, i2]:=inttostr(iErgebnis); end; stringgrid3.Visible:=true; end;
end. |
Moderiert von
Christian S.: Delphi-Tags hinzugefügt
Christian S. - Mi 10.10.07 19:31
Hallo!
Du kannst Dein Array (vom Typ "Paul" :lol:) praktisch so benutzen, wie Du StringGrid.Cells benutzt. Du musst vorher nur noch eine Varibale diesen Typs deklarieren. Siehe auch hier:
http://www.christian-stelzmann.de/artikel/CrashkursReloaded/#_Toc166831058
Grüße
Christian
//edit: Ach ja, Unterschied ist: die Indizes laufen nciht von 0 bis 7, sondern von 1 bis 8 (weil Paul so deklariert ist). Und Du kannst Dir das IntToStr / StrToInt sparen, weil ja alle Elemente Integer sind.
huy_beo - Mi 10.10.07 19:36
danke ich werde das mal versuchen!!!wenn nicht klapp dann muss du mir aba helfen! :) :) :) :) :) :) :) :) :D :D :D :D :D :D :D
huy_beo - Mi 10.10.07 19:47
kannst du das mit den typ array da vorzeigen?ich verstehe das nicht so ganz! :D :D :D :D :D :D :D
Christian S. - Mi 10.10.07 19:56
Was soll ich zeigen? :gruebel:
huy_beo - Mi 10.10.07 20:00
wie man array hier benutzt und was ich noch deklarieren muss! :D :D :D :D
Christian S. - Mi 10.10.07 20:02
Wie man ein Array deklariert steht in dem Link, den ich gepostet habe. Ein bisschen mehr Eigeninitiative bitte! :mahn:
huy_beo - Mi 10.10.07 20:11
ich weißt,dass man Eigeninitiative braucht...aber ich setze schon tage lang mit den ding hier schon...und habe bald kein geduld mehr!außerdem ich muss noch vieles lernen!huhuhuuhuhuhuhu
Christian S. - Mi 10.10.07 20:15
Und was an alle dem hindert Dich daran, auf den Link zu klicken und zu lesen :gruebel:
huy_beo - Mi 10.10.07 20:18
ich lerne grad Geschichte...morgen schreibe ich klausur auf Abiniveau!!!300 min lang!!!!!!da kann ich nicht auf den text da konzentrieren!
Christian S. - Mi 10.10.07 20:24
Dann kann ich Dir auch nicht helfen. Ich mache Dir nicht Deine Hausaufgaben.
huy_beo - Mi 10.10.07 20:25
ja ist egal...trotzdem danke
Delete - Fr 12.10.07 19:28
mal hausaufgaben mach ... (da keine programmiersprache angegeben, wird fortran angenommen)
A = M1 * M2 strukturgramm ist genauso simple. wobei A = gesuchte matrix, M1 = 1 Matrix und M2 = zweite Matrix
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!