funkcja rekurencyjna odwracajaca znaki w tablicy

0

witam
mam takiego questa, mianowicie musze napisac program odwracajacy litery w wyrazie korzystajac z funkcji rekurencyjnej napisalem takie cos, mysle ze sama funkcja posiada jakis sens natomiast samo jej wykorzystanie jakos mi nie chce sie udac. Dzieki za pomoc:).

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int pal(char s[],char k[],int x, int y){
    if(y<=x)
    {k[x]=s[y];
    return pal(s,k,x+1,y-1);}
    else return k;}
    
    int main()
    {char nap[64],po[64];
    int i,j;
   printf("Podaj wyraz: ");
   fgets(nap,64,stdin);
   i=strlen(nap);
   j=0;
   strcpy(po,pal(nap,po,j,i));
 puts(po);
   
    
  system("PAUSE");	
  return 0;
} 
0
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

char * pal(char s[], char k[], int x, int y)
{
	if (y >= 0) {
		k[y] = s[x];
		return pal(s, k, x+1, y-1);
	}
	else {
		k[x] = 0;
		return k;
	}
}

int main()
{
	char nap[] = {"ala ma kota a kot ma ale"}, po[64];
	int i, j=0;

	i = strlen(nap);

	pal(nap, po, j, i-1);

	puts(po);

	return 0;
}
0

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void pal(char k[], int x, int y)
{
if (y >= x) {
k[x] ^= k[y];
k[y] ^= k[x];
k[x] ^= k[y];
pal(k, x+1, y-1);
}
}

int main()
{
char nap[] = {"ala ma kota a kot ma ale"};
int i, j=0;

i = strlen(nap);

puts(nap);

pal(nap, j, i-1);

puts(nap);

return 0;

}

0
#include <iostream>
#include <string.h>

using namespace std;

template <typename T>
void zamienElementy(T *poczatek, T *koniec) //pobieramy początek i koniec tablicy a raczej wskaźniki na nie
{
    if (poczatek < koniec)
    {
        T temp = *poczatek;     //zamieniamy miejscami pierwszy element z ostatnim
        *poczatek = *koniec;
        *koniec = temp;

        zamienElementy((poczatek+1), (koniec-1));   //wywołujemy funkcje z tym że bierzemy kolejne elementy tablicy
    }
}


int main(int argc, char** argv)
{
    int tabSize = 0;
    char tab[] = "1234567";

    tabSize = strlen(tab);

    for(int i=0; i<tabSize; i++)
    {
        cout << "tab[" << i << "] = " << tab[i] << "\n";
    }

    cout << "\n----------------------------------------------\n\n";

    zamienElementy(&tab[0], &tab[tabSize-1]);

    for(int i=0; i<tabSize; i++)
    {
        cout << "tab[" << i << "] = " << tab[i] << "\n";
    }
    cout << tab << "\n\n";


    cin.get();
    return 0;
}


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