Reverse a String using putBack in C
Frage: Reverse a String using putBack in C(3 Antworten)
Ich muss den String "12345" umdrehen und dafuer muss ich auch putBack benutze . char * reverseRec( char *s); Ich wuerde mich freuen, wenn ihr mich helfen koennt. Danke im Voraus! |
Frage von Ftmhm | am 13.05.2019 - 11:42 |
Antwort von Colirbi | 15.05.2019 - 09:17 |
Moin, C oder C++. Falls C würde mich interessieren was putBack, Wo hängst du denn bei der Aufgabe, eigentlich ist es ja nicht schwer. Macht dir die Rekursion Probleme? |
Antwort von ANONYM | 15.05.2019 - 18:22 |
int length(char *s) { int n = 0; while(*s != ` `) { n++; s++; } return n; } void copy(char* s, int n, char* t) { int i = 0; while(i < n) { t[i] = s[i]; i++; } } char* putBack(char* s, char c) { const int n = length(s); char* r = malloc(sizeof(char) * (n+2)); copy(s, n, r); r[n] = c; r[n+1] = ` `; return r; } |
Antwort von Colirbi | 15.05.2019 - 19:25 |
Und was soll das jetzt sein? Das beantwortet wenig meiner Fragen. Hast du das selbst geschrieben? Die Implementierung dieser Funktionen ist unnötig kompliziert und scheint mir auf den ersten Blick auch nicht zu compilen und es sind logik Fehler drin. Falls der Code von dir kommt, gewöhne dir an Checks zu machen, wie zum Beispiel überprüfen, ob der String nicht eventuell leer ist. Das spart dir später ne Menge segfaults. int length(char *s) { int n = 0; while (*s) { n++;s++; } return n; } void recursiveHelper(char arr[], size_t start, size_t end) { if (start < end) { //dieser code könnte auch putBack sein char tmp = arr[start]; arr[start] = arr[end]; arr[end] = tmp; // bis hier recursiveHelper(arr, ++start, --end); } } char *reverseRec(char *s) { int len = length(s); if (len > 1) recursiveHelper(s, 0, len - 1); return s; } |
27 ähnliche Fragen im Forum:
> Du befindest dich hier: Support-Forum - Computer & Technik- Strukturelle Induktion (3 Antworten)
- Informatik C Integer in Char -> Arrays (0 Antworten)
- Arrays Aufgaben (2 Antworten)
- Haskell: Implementierung α- und β-Konversion Lam.. (0 Antworten)
- Java Strings (1 Antworten)
- Java Kommandozeilenparameter (1 Antworten)
- mehr ...
ÄHNLICHE FRAGEN:
- Strukturelle InduktionBeweisen Sie die folgenden Aussagen für beliebige Funktionen f, beliebige natürliche Zahlen n und beliebige Listen xs. (a) sum ..
- Informatik C Integer in Char -> ArraysFolgendes Szenario: tempdez wie dez sind definiert und somit komm ich dann auf mein Problem. Wie man bereits von der zweiten..
- Arrays AufgabenWeiß jemand wie das geht ? public class Test{ public static void main(String args){ String liste1 = new String; String ..
- Haskell: Implementierung α- und β-Konversion Lam..Gegeben sei ein algebraischer Datentyp LExpr zur Darstellung von Ausdrücken des λ-Kalküls ohne Konstanten. data LExpr..
- Java StringsHey Leute, hab da ein Prolem mit Strings vom Typ String, und zwar möchte ich, dass wenn der String leer ("") ist, dass alle ..
- Java KommandozeilenparameterHallo, ich soll eine Methode in Java schreiben, die einen String in Großbuchstaben umwandelt. Der Stringwert soll dem ..
- mehr ...