ERLEDIGT
NEIN
NEIN
ANTWORTEN
6
6
ZUGRIFFE
1199
1199
EMPFEHLEN
-
Aufgabenstellung: Schreiben Sie ein Unterprogramm, dass eine 5 × 5-Matrix übergeben bekommt und eine Kopie
dieser Matrix an einen Ausgabeparameter übergibt.Welche Typdeklarationen sind hier notwendig?
nun habe ich schon folgendes getestet:
ich habe probiert in der einen unit, die matrix zu initalisieren und sie in eine input.txt gespeichert und dann in hauptprogramm habe ich einfach die zahlen aus der input.txt in die output.txt einlesen lassen.
ich bin nun soweit, dass ich mein programm habe, allerdings ohne unterprogramm:
PROGRAM Matrix(input, output, mout);
const
n=5; m=5;
var
x: Array[1..n] of Array[1..m] of integer;
i,j,max : integer;
mout : text;
begin
assign(mout, 'output.txt');
reset(mout);
rewrite(mout);
For i:= 1 To n Do
Begin
For j:=1 To M Do
read(x[i,j]);
readln;
end;
For i := 1 to n do
Begin
For j := 1 to m do write(mout, x[i,j]:5);
writeln(mout)
End;
writeln(mout);
max := x[1,1];
For i:= 1 to n do
for j:= 1 to m do
if x[i,j] > max then max := x[i,j];
writeln(mout, 'Groesstes ist ',max);
writeln(mout);
writeln(mout, 'done.');
close(mout);
readln;
end.
aber da fehlen ja die type konstruktionen und das unterprogramm
hat vllt jmd einen lösungsansatz oder vorschlag
?
achja ich programmiere alles in Freepascal
danke im vorraus
gruss sascha
-
05.11.06 17:28 #2
Bin nicht ganz sicher ob ich das mit dem Unterprogramm und der Typdeklaration richtig verstanden hab, aber eventuell soll das mit nem Record gemacht werden..
du könntest z.B so was machen:
Code :1 2 3 4 5 6 7 8 9 10 11 12
const N = 5; M = 5; type 5erMatrix = record Matrix : array [1..N] of array[1..M] of integer; Max : integer; Min : integer; //usw.. end;
Jetzt kannst du in deinem Hauptprogramm, oder wo au immer.., die Variablen des Records bearbeiten und sie dann über ne Write-Funktion in eine Datei schreiben.
Im lesenden Programm kannst du dann ein identisches Record mit nem Read füllen.
Dadurch sparst du die For-Schleifen...
Wenn du noch Fragen hast führ ichs bissle weiter aus.
gruß KangaxxGeändert von Kangaxx (05.11.06 um 18:15 Uhr)
Ahh, the Internet! Where men are men, women are men and little girls are FBI agents.
-
Also so ganz habe ich das nicht verstanden =(
Ich habe nun wie du es gesagt hast, Typen in mein Hauptprogramm geschrieben:
Code :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
program schreibeprog(input, outpu, schreibdatei, lesedatei); uses leseprog; const n=5; m=5; type fuenfermatrix = record matrix : array[1..n] of array[1..m] of integer; max : integer; j,i : integer; lesedatei : text; var j,i,max = integer; lesedatei : text; begin assign(lesedatei, 'input.txt'); reset(lesedatei); rewrite(lesedatei); for i:= 1 to n do begin for j:= 1 to m do read(x[i,j]); readln; end; for i:= 1 to n do begin For j:= 1 to m do write(lesedatei, x[i,j]:5); writeln(lesedatei) end; writeln(lesedatei); max := x[1,1]; for i:= 1 to n do for j:=1 to m do if x[i,j] > max then max := x[i,j]; writeln(lesedatei, 'Groesstes ',max); writeln(lesedatei); writeln(lesedatei, 'done.'); readln; end.
So nun bin ich gerade an meiner Unit am werkeln, weiss nun aber nicht, wie ich eine For-Schleife spare und wie ich es überhaupt mache.
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
unit leseprog; interface type fuenfermatrix = record schreibdatei : text; implementation var schreibdatei : text; begin end.
-
05.11.06 20:48 #4
Hi ich finde die Aufgaben sind übelst schwammig formuliert.
Aufgaben
Aufgabe 4 habe ich so interpretiert:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
program Matrix_4(input,output); uses crt; const n = 5; type TwoDim5 = array[1..n,1..n] of Integer; var matrix :TwoDim5; i,j : byte; output : text; procedure CopyInToFile(matr : TwoDim5); begin assign(output,'output.txt'); rewrite(output); for i:=1 to n do for j:=1 to n do begin write(output,matr[i][j]:4); if j = 5 then writeln(output); end; close(output); end;
Wer cool wenn wer weiß wie man Aufgabe 5 angeht.Visit shadowmasta
-
Hab das hier in einem Forum gefunden:
http://www.tutorials.de/forum/delphi...twicklung.html
mir hilfts nicht viel weiter !
vielleicht hast du ja mehr glück
gruss sascha
-
06.11.06 00:48 #6
Danke aber so ein Freak bin ich auch nicht
Visit shadowmasta
-
02.04.07 22:15 #7
- Registriert seit
- Mar 2007
- Beiträge
- 95
Ist eigentlich ganz einfach.
Ein Matrix ist eigentlich ein mehrdimensionales Array und über eine Typdeklaration dürfte das einfach lösbar sein
Code :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
type MATRIX = record matrix : array[1..5,1..5] of integer; //wenn' s Fließkomma sein soll dann halt double end; var M : MATRIX; // hier die Funktion die mit der Matrix arbeiten soll function Beispiel(In : MATRIX):MATRIX; begin /Mache irgend etwas mit der Matrix -> In wird hier verändert . . //Bearbeitete Matrix zurückgeben Result := In; end; . . //Jetzt das Hauptprogramm begin //Mache irgend etwas (z.B Matrix M mit Werten füllen) . //die Matrix in Funktion Beispiel bearbeiten und Rückgabewert in M wieder speichern M:=Beispiel(M); . . //weiterer Code end.
Geändert von Twinsetter (03.04.07 um 22:54 Uhr)
Ähnliche Themen
-
Grafik, aber wie?
Von metalux im Forum Creative LoungeAntworten: 2Letzter Beitrag: 24.11.06, 14:28 -
OCR aber wie?
Von igfas im Forum C/C++Antworten: 1Letzter Beitrag: 24.07.06, 10:24 -
Fur ? Aber wie ?
Von GRUBER im Forum Autodesk Maya (ehemals Alias)Antworten: 7Letzter Beitrag: 06.04.05, 22:00 -
Ein Gitternetz aber wie?
Von ChrisLem im Forum PhotoshopAntworten: 13Letzter Beitrag: 04.08.02, 18:26 -
im php css. aber wie?
Von saint_wbl im Forum PHPAntworten: 3Letzter Beitrag: 14.05.02, 20:23





Zitieren
Login





