Rekurencja pobierajaca odwracajaca buffer

0

Siemka mam ogromny problem z zadaniem ktore ma odwracac pobierany ciag znakow wykorzystujacy rekurencje.
Po nacisnieciu .(i enter) powinien nam sie wyswietlic odwrocony ciag.

#include <iostream>

using namespace std;

char wpisany;

void odwroc(){
    if(wpisany != '.'){
        cin.get(wpisany);
        cout << wpisany;
        reverse();
    }
}

int main(){
    odwroc();
    return 0;
}

W tym momencie pobieram ciag znakow i wyswietlam w normalnej kolejosci. Jak to odwrocic:(

0

Rekurencyjna definicja funkcji r odwracającej stringa jest taka:
pusty string → pusty string
niepusty string → odwrócony string od drugiej litery do końca skonkatenowany z pierwszą literą

0

Niestety nie bede ukrywal ze troche malo rozumiem z tego co napisales. I gdzie sie ma do tego wprowadzanie i odwracanie wartosci. :(

0

OK. To po kolei:

  1. Czy wiesz, jak przyjąć ciąg znaków od użytkownika?
  2. Czy wiesz, jak ze stringu wyłuskać jego ostatni znak?
  3. Czy wiesz, jak skonkatenować stringi?
1

jeśli miałoby być z io to z grubsza tak:
odwroc:

  • jesli nie koniec:
    -- pobierz znak
    -- odwroc
    -- wypisz znak

przyklad:
wejście: AB
odwroc:

  • jesli nie koniec: [T]
    -- pobierz znak ['A']
    -- odwroc:
    --- jesli nie koniec: [T]
    ---- pobierz znak ['B']
    ---- odwroc [pozostałe wejście: 'B']
    ----- jesli nie koniec: [F]
    ---- wypisz znak ['B']
    -- wypisz znak ['A']

1 użytkowników online, w tym zalogowanych: 0, gości: 1