Studium, Ausbildung und Beruf
 StudiumHome   FAQFAQ   RegelnRegeln   SuchenSuchen    RegistrierenRegistrieren   LoginLogin

Pascal Programm
Neues Thema eröffnen   Neue Antwort erstellen
Foren-Übersicht -> Informatik-Forum -> Pascal Programm
 
Autor Nachricht
Bizepsbenny
Newbie
Benutzer-Profile anzeigen
Newbie


Anmeldungsdatum: 13.08.2017
Beiträge: 3

BeitragVerfasst am: 24 Okt 2017 - 00:09:10    Titel: Pascal Programm

Hallo zusammen, ich habe folgende Aufgabe:

Code:

Gesucht ist ein Programm merge, welches zwei (aufsteigend) sortierte Felder von (nicht notwendig verschiedenen) integer-Zahlen zu einem sortierten Feld verschmilzt. Dabei sollen mehrfach vorkommende Elemente auch mehrfach im Ergebnisfeld gespeichert werden. Die beiden Felder werden von der Standardeingabe eingelesen, wobei wir voraussetzen, dass nur sortierte Zahlenfolgen eingegeben werden. Eine Prüfung dieser Annahme ist nicht erforderlich. Das sortierte Ergebnisfeld wird ausgegeben.

Beispiel: Feld1 enthalte die Elemente 11, 14, 18, 80, 100, Feld2 die Elemente 8, 11, 11, 17, 22, 30, 55, 70.
ErgebnisFeld enthält dann nach der Ausführung von merge die Elemente 8, 11, 11, 11, 14, 17, 18, 22, 30, 55, 70, 80, 100, d.h. wenn Feld2 erschöpft ist, müssen noch die restlichen Elemente aus Feld1 nach Feld kopiert werden.

Hinweis: Das Verschmelzen nutzt die bestehende Sortierung des Feldes aus, Sie sollen keinen Sortier-Algorithmus implementieren.
Ein Kopieren der Feldinhalte von Feld1 und Feld2 nach ErgebnisFeld mit anschließendem Sortieren von ErgebnisFeld gilt nicht als Lösung der Aufgabe!
Auch das komplette Kopieren eines Feldes nach ErgebnisFeld mit anschließendem Einsortieren der Elemente des anderen Feldes ist keine Lösung.




Mein Ansatz steht zwischen den Kommentaren {Verschmelzungsprozess beginnen} und {Verschmelzungsprozess beenden}. Das Programm kompiliert aber gibt nichts aus. Hat jemand eine Idee? PS Ich bin Programmier-Neuling.

Hier mein Ansatz:

Code:

program merge (input, output);

  const
  FELDLAENGE1 = 5;
  FELDLAENGE2 = 8;
  ERGEBNISFELDLAENGE = 13; { FELDLAENGE1 + FELDLAENGE2 }
       
  type
  tFeld1 = array [1..FELDLAENGE1] of integer;
  tFeld2 = array [1..FELDLAENGE2] of integer;
  tErgebnisFeld = array [1..ERGEBNISFELDLAENGE] of integer;

  var
  Feld1 : tFeld1;
  Feld2 : tFeld2;
  ErgebnisFeld : tErgebnisFeld;
  i : integer;
  j : integer;
  k : integer;
 
begin
  { sortierte Felder einlesen }
  writeln ('Bitte', FELDLAENGE1:2, ' Werte des ersten Feldes ',
                                         'sortiert eingeben!');
  for i := 1 to FELDLAENGE1 do
    readln (Feld1[i]);
  writeln ('Bitte', FELDLAENGE2:2, ' Werte des zweiten Feldes ',
           'sortiert eingeben!');
  for j := 1 to FELDLAENGE2 do
    readln (Feld2[j]);

  { Verschmelzungsprozess beginnen }
   begin
      k := 0;
      ErgebnisFeld[k]:= Feld1[i] and Feld2[j]
   end;
      for k := 1 to ERGEBNISFELDLAENGE do
      readln(ErgebnisFeld[k]);
      for k := 1 to ERGEBNISFELDLAENGE do
 
 
 
 
  { Verschmelzungsprozess beenden }
 

  writeln ('Das Ergebnisfeld ist:', ErgebnisFeld[k]);
  for k := 1 to ERGEBNISFELDLAENGE do
    write (ErgebnisFeld[k], ' ');
  writeln
end.


Ich hoffe, mir kann jemand helfen, was ich was gemacht habe Smile

Gruß
BB
Bizepsbenny
Newbie
Benutzer-Profile anzeigen
Newbie


Anmeldungsdatum: 13.08.2017
Beiträge: 3

BeitragVerfasst am: 24 Okt 2017 - 13:01:52    Titel:

Hi,

habe einen neuen Abschnitt zwischen {Verschmelzungsprozess beginnen} und {Verschmelzungsprozess beenden} geschrieben:

Code:

begin
      k := 1;
      ErgebnisFeld[k]:= Feld1[i] and Feld2[j]
    end;


Warum gibt das Ergebnisfeld nur 13 Nullen aus?

Gruß
BB
Beiträge der letzten Zeit anzeigen:   
Foren-Übersicht -> Informatik-Forum -> Pascal Programm
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

Chat :: Nachrichten:: Lexikon :: Bücher :: Impressum