Hi Leute ich bereite mich grad auf eine Prüfung vor und bin bei den Angaben von den letzten Jahren auf ein Beispiel gestoßen (sorry für die Textformatierung, habs von nem .pdf kopiert):
Schreiben Sie eine Funktion stutterString, welche einen C-String als Argument übernimmt
und einen Array von C-Strings als Rückgabewert liefert. Aus dem Argument wird eine Reihe
von Strings erzeugt, welche jeweils aus den ersten n Buchstaben des Ausgangsstrings
bestehen, wobei n zwischen 1 und der Stringlänge des Argumentes liegt. Aus dem
„Haus“ wird also „H“, „Ha“, „Hau“, „Haus“ erzeugt.
Schreiben Sie eine Hauptfunktion, welche die Funktion stutterString mit dem String
„Murkraftwerk“ aufruft und das Ergebnis auf der Kommandozeile ausgibt.
Ich hab da irgendein Problem bei der Rückübergabe an die main-Funktion aber ich check nicht genau was ich falsch gemacht habe..
Vielleicht könnt mir wer einen Tipp geben? =)
Die Deklaration von "ausgabe" in der main scheint mir auch noch nicht ganz richtig zu sein, ich hab jetzt einfach mal für testzwecke die größe mit 12 festgelegt aber da sollt ich auch eine bessere lösung finden.
Schreiben Sie eine Funktion stutterString, welche einen C-String als Argument übernimmt
und einen Array von C-Strings als Rückgabewert liefert. Aus dem Argument wird eine Reihe
von Strings erzeugt, welche jeweils aus den ersten n Buchstaben des Ausgangsstrings
bestehen, wobei n zwischen 1 und der Stringlänge des Argumentes liegt. Aus dem
„Haus“ wird also „H“, „Ha“, „Hau“, „Haus“ erzeugt.
Schreiben Sie eine Hauptfunktion, welche die Funktion stutterString mit dem String
„Murkraftwerk“ aufruft und das Ergebnis auf der Kommandozeile ausgibt.
Code:
shutterstring(char* str1)
{
int size1 = strlen(str1);
int i, j;
char str_ausgabe[size1][size1];
for(i = 0; i < size1; i++)
{
for(j = 0; j <= i; j++)
{
str_ausgabe[i][j] = str1[j];
}
}
return str_ausgabe;
}
int main()
{
int size1 = strlen("Murkraftwerk");
char (*ausgabe)[12] = shutterstring("Murkraftwerk");
int i, j;
for(i = 0; i < size1; i++)
{
for(j = 0; j <= i; j++)
{
printf("%c", *(*(ausgabe+i)+j));
}
printf("\n");
}
}
Ich hab da irgendein Problem bei der Rückübergabe an die main-Funktion aber ich check nicht genau was ich falsch gemacht habe..
Vielleicht könnt mir wer einen Tipp geben? =)
Die Deklaration von "ausgabe" in der main scheint mir auch noch nicht ganz richtig zu sein, ich hab jetzt einfach mal für testzwecke die größe mit 12 festgelegt aber da sollt ich auch eine bessere lösung finden.