tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
6
ZUGRIFFE
1199
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    fate2k5 fate2k5 ist offline Grünschnabel
    Registriert seit
    Nov 2006
    Beiträge
    3
    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
     

  2. #2
    Avatar von Kangaxx
    Kangaxx Kangaxx ist offline Mitglied Silber
    Registriert seit
    Mar 2005
    Ort
    Vaihingen an der Enz
    Beiträge
    88
    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ß Kangaxx
    Geä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.

  3. #3
    fate2k5 fate2k5 ist offline Grünschnabel
    Registriert seit
    Nov 2006
    Beiträge
    3
    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.
     

  4. #4
    Avatar von Online-Skater
    Online-Skater Online-Skater ist offline Mitglied Brillant
    Registriert seit
    Sep 2004
    Ort
    Rostock
    Beiträge
    891
    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.
     

  5. #5
    fate2k5 fate2k5 ist offline Grünschnabel
    Registriert seit
    Nov 2006
    Beiträge
    3
    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
     

  6. #6
    Avatar von Online-Skater
    Online-Skater Online-Skater ist offline Mitglied Brillant
    Registriert seit
    Sep 2004
    Ort
    Rostock
    Beiträge
    891
    Danke aber so ein Freak bin ich auch nicht
     

  7. #7
    Twinsetter Twinsetter ist offline Mitglied Silber
    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

  1. Grafik, aber wie?
    Von metalux im Forum Creative Lounge
    Antworten: 2
    Letzter Beitrag: 24.11.06, 14:28
  2. OCR aber wie?
    Von igfas im Forum C/C++
    Antworten: 1
    Letzter Beitrag: 24.07.06, 10:24
  3. Fur ? Aber wie ?
    Von GRUBER im Forum Autodesk Maya (ehemals Alias)
    Antworten: 7
    Letzter Beitrag: 06.04.05, 22:00
  4. Ein Gitternetz aber wie?
    Von ChrisLem im Forum Photoshop
    Antworten: 13
    Letzter Beitrag: 04.08.02, 18:26
  5. im php css. aber wie?
    Von saint_wbl im Forum PHP
    Antworten: 3
    Letzter Beitrag: 14.05.02, 20:23