Informatică, întrebare adresată de danielcornitel, 8 ani în urmă

Să se scrie o funcție recursivă pentru a inversa un șir de caractere S

Răspunsuri la întrebare

Răspuns de Petruccinator
1

#include <iostream>

#include <cstring> // strlen()

const int lungime=65; // lungime maxima

void invers(char* S, int len=0){

   static int l=0, L=len-1;

   static char aux;

   /*

    * l = inceput -> sfarsit

    * L = sfarsit -> inceput

   */

   if (l<=L){

       aux   =S[l];

       S[l++]=S[L];

       S[L--]=aux;

       invers(S);

   }

}

int main(){

   char *S=new char[lungime];

   std::cout << "Introduceti o propozitie.\n";

   std::cin >> S;

   invers(S, strlen(S));

   std::cout << S;

   delete[] S;

}

Alte întrebări interesante