Функция заменяет символы строки из одного заданного алфавита на символы другого алфавита - 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;
}

Объяснение кода листинга программы

  1. Функция принимает в качестве аргумента указатель на строку (char*).
  2. Функция проходит по всем символам строки, пока не встретит нулевой символ.
  3. Для каждого символа строки выполняется проверка:
    • Если символ принадлежит алфавиту от 'A' до 'I' (включительно), то он заменяется на соответствующий символ из алфавита от '1' до '9' (включительно), сдвинутый на единицу вперед.
    • Если символ принадлежит алфавиту от 'a' до 'i' (включительно), то он заменяется на соответствующий символ из алфавита от '1' до '9' (включительно), сдвинутый на единицу вперед.
    • Если символ не принадлежит ни одному из указанных алфавитов, то функция возвращает 1.
  4. После выполнения всех проверок функция возвращает 0.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4 из 5
Похожие ответы