Функция заменяет символы строки из одного заданного алфавита на символы другого алфавита - C (СИ)
Формулировка задачи:
Функция заменяет символы строки из одного заданного алфавита на символы другого алфавита.
заменяет только первый символ, вместо остального - какая то лажа..
#include <stdio.h> #include <conio.h> void fun(char *s, char *s1, int dl); int main () { char s [26], s1[26]; int dl; gets (s); scanf ( " %d", &dl); fun ( s, s1,dl); puts(s); getch(); return 0; } void fun (char *s, char *s1, int dl){ int i; for ( *s=65, *s1=40, i=0; i<dl, ; i++, s1++ , s++){ *s=*s1; } *s='\0'; }
Решение задачи: «Функция заменяет символы строки из одного заданного алфавита на символы другого алфавита»
textual
Листинг программы
int fun(char* str) { while (*str != 0) { if (*str >= 'A' && *str <= 'I') *str += '1' - 'A'; else if (*str >= 'a' && *str <= 'i') *str += '1' - 'a'; else return 1; ++str; } return 0; }
Объяснение кода листинга программы
- Функция принимает в качестве аргумента указатель на строку (char*).
- Функция проходит по всем символам строки, пока не встретит нулевой символ.
- Для каждого символа строки выполняется проверка:
- Если символ принадлежит алфавиту от 'A' до 'I' (включительно), то он заменяется на соответствующий символ из алфавита от '1' до '9' (включительно), сдвинутый на единицу вперед.
- Если символ принадлежит алфавиту от 'a' до 'i' (включительно), то он заменяется на соответствующий символ из алфавита от '1' до '9' (включительно), сдвинутый на единицу вперед.
- Если символ не принадлежит ни одному из указанных алфавитов, то функция возвращает 1.
- После выполнения всех проверок функция возвращает 0.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д