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

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

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

В переменную задается строка символов. Далее эта строка передается в функцию. Используются дополнительные переменные. С помощью функции 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);

}

admin

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *