• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Odwracanie wyrazu z użyciem własnej funkcji

Object Storage Arubacloud
0 głosów
577 wizyt
pytanie zadane 1 stycznia 2016 w C i C++ przez CichoCiemny Początkujący (480 p.)
Chciałem zrobić program który odwraca wyraz to znaczy wypisuje go od tyłu z użyciem funkcji żeby je lepiej zrozumieć (właśnie jestem na etapie  9 odc czyli funkcje). Program po wpisaniu jakiegoś wyrazu wyświetla mi odwrócony wyraz i ten który wpisałem na początku np wpisze "wyraz" to wyświetli "zarywwyraz". Nie mogę znaleźć błędu..

using namespace std;

string odwroc (string x, int y);

int main ()
{
   string wyraz;
   int dlugosc;

            cout << "Podaj wyraz do odwrocenia: ";
            cin >> wyraz;

            dlugosc = wyraz.length();
            cout << odwroc(wyraz,dlugosc);

 return 0;
}

string odwroc (string x, int y)
{
    for (int i=y-1; i>=0; i--)
    {
        cout << x[i];
    }
    return x;
}

4 odpowiedzi

+1 głos
odpowiedź 1 stycznia 2016 przez Radfler VIP (101,030 p.)
edycja 1 stycznia 2016 przez Radfler
 
Najlepsza

Wszystko działa dobrze:

1. Wywołujesz funkcję odwroc. Wypisuje ona wyraz od tyłu na ekran (warto dodać że nie przechodzi do nowej linii),

2. Funkcja zwraca wyraz, który otrzymała, czyli ten nieodwrócony,

3. W funkcji main ponownie wypisujesz wyraz na ekran (został on zwrócony przez funkcję), powstaje właśnie coś takiego.

Pytanie brzmi: co chcesz osiągnąć?

komentarz 1 stycznia 2016 przez Radfler VIP (101,030 p.)

#EDIT Jeżeli nie chcesz drugi raz wypisywać wyrazu to usuń return w funkcji i zmień jej typ zwracany na void.

komentarz 1 stycznia 2016 przez CichoCiemny Początkujący (480 p.)
Chciałem żeby mi wypisywała tylko odwrocony wyraz, zrobiłem tak jak kolega napisał wyżej czyli wykasowałem return x i teraz wyskakuje komunikat  że porgam przestał działać
+1 głos
odpowiedź 1 stycznia 2016 przez Colossus Mądrala (6,410 p.)
Wykasuj return x; w funkcji
komentarz 1 stycznia 2016 przez CichoCiemny Początkujący (480 p.)
O teraz działa jak należy tylko wyskakuje komunikat że program przestał działać :/
komentarz 1 stycznia 2016 przez Colossus Mądrala (6,410 p.)

Zmień linijkę

cout << odwroc(wyraz,dlugosc);

na

odwroc(wyraz,dlugosc);

 

 

komentarz 1 stycznia 2016 przez Colossus Mądrala (6,410 p.)
ale tamto return x; zostaw
+1 głos
odpowiedź 1 stycznia 2016 przez robert9620 Stary wyjadacz (11,640 p.)
Skompilowałem sobie Twój kod i mi działa. Wygląda na dobry. Jedynie nie masz na samej górze "#include <iostream>".
komentarz 1 stycznia 2016 przez robert9620 Stary wyjadacz (11,640 p.)
Chyba, że nie chcesz, żeby wypisywał Ci ten wyraz początkowy ? Wtedy funkcje zmieniasz na voida i wyrzucasz "return x;" w mainie natomiast nie wypisujesz niczego coutem tylko wywołujesz funkcję o tak : "odwroc(wyraz,dlugosc);"
komentarz 1 stycznia 2016 przez CichoCiemny Początkujący (480 p.)
Tak właśnie o to mi chodziło, dzięki!
+1 głos
odpowiedź 1 stycznia 2016 przez Tomekku Bywalec (2,830 p.)

Gdy masz funkcję odwroc, to już ona wyświetla odwrocony tekst używając cout, tak więc przy uzyciu funkcji nie musisz uzywać cout, bo ona już nic nie będzie zwracać bez return :D

chodzi mi konkretnie o ten moment:

  cout << odwroc(wyraz,dlugosc);

 

Podobne pytania

0 głosów
3 odpowiedzi 272 wizyt
pytanie zadane 25 listopada 2015 w C i C++ przez Chajol Początkujący (290 p.)
0 głosów
2 odpowiedzi 386 wizyt

92,579 zapytań

141,432 odpowiedzi

319,663 komentarzy

61,964 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...