From ae93ac07faa914f33b213baad64dc347725fdcef Mon Sep 17 00:00:00 2001 From: Peter Gerwinski <peter.gerwinski@hs-bochum.de> Date: Mon, 22 May 2023 15:36:06 +0200 Subject: [PATCH] =?UTF-8?q?Erg=C3=A4nzung:=20L=C3=B6sung=20von=201(a)=20du?= =?UTF-8?q?rch=20ChatGPT?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 20230109/hp-20230109.txt | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/20230109/hp-20230109.txt b/20230109/hp-20230109.txt index 3d7993e..7f2127e 100644 --- a/20230109/hp-20230109.txt +++ b/20230109/hp-20230109.txt @@ -2,6 +2,21 @@ Klausur vom 13.2.2018, gelöst von ChatGPT Aufgabe 1 +(a) Das Programm fügt das Zeichen 'c' an der Stelle 5 in die Zeichenkette 'test' + ein. Allerdings wird das Programm nicht korrekt implementiert, da der Inhalt + der Zeichenkette nach der Stelle 5 nicht korrekt verschoben wird. Die Schleife + 'for (int i = pos; i < len; i++)' sollte stattdessen 'for (int i = len; i > + pos; i--)' lauten, um die Zeichen ab der Stelle 'pos' nach rechts zu + verschieben. + + Da das Programm so implementiert ist, werden alle Zeichen ab der Stelle 5 mit + dem Wert 'h' überschrieben. Da der Inhalt der Zeichenkette nach der Stelle 5 + nicht verschoben wird, wird das Zeichen 'c' an der Stelle 5 eingefügt, während + der Rest der Zeichenkette unverändert bleibt. Deshalb lautet die Ausgabe + "Hochschhhhhhhhhhh". + +--> Viel Geschwafel, aber korrekt. Volle Punktzahl. + (b) void insert_into_string (char src, char *target, int pos) { // Bestimme die Länge des Strings target int len = strlen(target); -- GitLab