[c++]Odwracanie znaków

0

Napisz funkcję [DajOdwrocony], która zwraca łańcuch znaków (typu string) zawierający ułożone od końca znaki łańcucha [zrodlo] otrzymanego w parametrze. Następnie napisz funkcję [Odwroc] typu void, która w otrzymanym w parametrze łańcuchu znaków [lancuch] odwróci kolejność wszystkich znaków. Na koniec napisz kod programu,który zaprezentuje wyniki działania obu funkcji, dla przykładowego łańcucha np. "Podstawy algorytmiki i programowania".

    #include <iostream>
    #include <string>
     
    using namespace std;
     
    
string DajOdwrocony(string zrodlo)
{
	string nowy;
	int dl;
	dl=zrodlo.length();
	
	for(int i=0;i<dl;++i)
	nowy += zrodlo[dl-i-1];
	
	return nowy;
}   
    
 void Odwroc(string lancuch)
{
	
		
}   
    
    
	
int main()
{
	cout<<DajOdwrocony("Podstawy algorytmiki i Programowania");
	
	
}

Czyli w tej drugiej funkcji mam skorzystać z tej pierwszej zeby odwrocic z powrotem znaki ? Jak probuje tak zrobic to wywala mi mnostwo bledow...

0

Pierwsza funkcja zwraca odwrócony łańcuch, a druga ma odwrócić ten przekazany w argumencie. Czyli ma być tak:

string DajOdwrocony(string zrodlo); // tak masz

void Odwroc(string &lancuch);

Możesz oczywiście wykorzystać DajOdwrocony wewnątrz Odwroc, po prostu to co zwraca ta funkcja przypisz do przyjętej referencji.

0
#include <iostream>
#include <string>
#include <algorithm>
 using namespace std;
 
string DajOdwrocony(string zrodlo)
  {
   reverse(zrodlo.begin(),zrodlo.end());
   return zrodlo;
  }   
 
void Odwroc(string &lancuch)
  {
   lancuch=DajOdwrocony(lancuch);
  }

int main()
  {
   cout<<DajOdwrocony("Podstawy algorytmiki i Programowania")<<endl;
   string x="Podstawy algorytmiki i Programowania";
   Odwroc(x);
   cout<<x<<endl;
   return 0;
  }

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