Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,959 questions

51,901 answers

573 users

How to decrypt string from a string containing digits (0-9) and # by using numbers mapping in C

1 Answer

0 votes
/*
numbers mapping:

a = 1
b = 2
...
j = 10#
...
z = 26#
*/

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

char* DecryptString(const char* s) {
    int size = strlen(s);
    char* result = (char *)malloc((size + 1) * sizeof(char));
    int i = 0, j = 0;
    
    while (i < size) {
        if (i + 2 < size && s[i + 2] == '#') {
            int num = (s[i] - '0') * 10 + (s[i + 1] - '0');
            result[j++] = (char)(num + 96);
            i += 3;
        } else {
            result[j++] = (char)((s[i] - '0') + 96);
            i++;
        }
    }
    result[j] = '\0'; 
    
    return result;
}

int main() {
    char* decrypted = DecryptString("12310#11#26#");
    
    printf("%s\n", decrypted);
    
    free(decrypted); 
    
    return 0;
}



/*
run:

abcjkz

*/

 



answered Feb 13, 2024 by avibootz
edited Feb 14, 2024 by avibootz
...