Инвертирование символов с использованием рекурсии и указателей



Инвертирование символов с использованием рекурсии и указателей

В прошлый раз я решал задачу по инвертированию символов. Тогда в задаче я применял массивы. Теперь же захотелось усложнить задачу. В этом примеру происходит тоже самое, но уже с использованием рекурсии и указателей.

В переменную задается строка символов. Далее эта строка передается в функцию. Используются дополнительные переменные. С помощью функции sdvig происходит смещение всех символов влево, далее выполняется само инвертирование.

Исходный код:

#include <stdio.h>

#include <string.h>

int func (char *a, int rez)

{

int i;

char tmp;

/*printf(«%s\n»,a);*/

if (rez<=1)

return 1;

tmp=a[0];

sdvig (a, rez);

a[rez-1]=tmp;

func(a, rez-1);

}

int sdvig (char *a, int n)

{

int i;

for(i=1;i<n;i++)

{

a[i-1]=a[i];

}

}

main()

{

char a[]=»asdfghjkl»;

int rez=0;

rez=strlen(a);

printf(«\nНачало:%s\n», a);

func (a, rez);

printf(«\nРезультат:%s\n», a);

}

Комментариев нет »

Комментариев нет.

RSS-лента комментариев к этой записи. TrackBack URL

Оставить комментарий