Skip to main content

URI Online Judge Solution 1024 Encryption


URI Online Judge Solution 1024 Encryption using C Programming Language.

You have been asked to build a simple encryption program. This program should be able to send coded messages without someone been able to read them. The process is very simple. It is divided into two parts.

First, each uppercase or lowercase letter must be shifted three positions to the right, according to the ASCII table: letter 'a' should become letter 'd', letter 'y' must become the character '|' and so on. Second, each line must be reversed. After being reversed, all characters from the half on (truncated) must be moved one position to the left in ASCII. In this case, 'b' becomes 'a' and 'a' becomes '`'.

For example, if the resulting word of the first part is "tesla", the letters "sla" should be moved one position to the left. However, if the resulting word of the first part is "t#$A", the letters "$A" are to be displaced.

Input

The input contains a number of cases of test. The first line of each case of test contains an integer (1 ≤ ≤ 1 * 10⁴), indicating the number of lines the problem should encrypt. The following lines contain characters each (1 ≤ ≤ 1 * 10³).

Output

For each input, you must present the encrypted message.
Input SampleOutput Sample
4
Texto #3
abcABC1
vxpdylY .ph
vv.xwfxo.fd
3# rvzgV
1FECedc
ks. \n{frzx
gi.r{hyz-xx

Solution :

#include <stdio.h>
#include <string.h>
int main()
{
    char str[1000],str1[1000];
    int i,k,j,n,m,l,T;
    scanf("%d",&T);
    getchar();
    while(T--)
    {
        gets(str);
        k = strlen(str);
        for(i=0;i<k;i++)
        {
            if((str[i]>='A' && str[i]<='Z') || (str[i]>='a'&& str[i]<='z'))
                str[i] = str[i] + 3;
        }
        n=0;
        for(j=k-1;j>=0;j--)
        {
            str1[n] = str[j];
            n++;
        }
        str1[n] = '\0';
        l = k/2;
        for(i=l;i<k;i++)
        {
            str1[i] =  str1[i] - 1;
        }
            printf("%s\n",str1);
    }
    return 0;

Comments

Popular posts from this blog

URI Problem 1001 Solution Extremely Basic - - URI Online Judge Solution

URI Online Judge Problem 1001 Extremely Basic Solution using C, Python Programming Language. Read 2 variables, named  A  and  B  and make the sum of these two variables, assigning its result to the variable  X . Print  X  as shown below. Print endline after the result otherwise you will get “ Presentation Error ”. Input The input file will contain 2 integer numbers. Output Print the letter  X  (uppercase) with a blank space before and after the equal signal followed by the value of X, according to the following example. Obs.: don't forget the endline after all. Samples Input Samples Output 10 9 X = 19 -10 4 X = -6 15 -7 X = 8 URI 1001 Solution in Python A = int(input()) B = int(input()) X = A + B print("X =",X); URI 1001 Solution in C: #include int main() { int A,B,X; scanf ("%d %d", &A, &B); X=A+B; printf("X = %d\n",X); return 0; }

URI Problem 1179 Solution Array Fill IV - URI Online Judge Solution

URI Online Judge Solution 1179 Array Fill IV  Using C, Python Programming Language. In this problem you need to read 15 numbers and must put them into two different arrays: par if the number is even or impar if this number is odd. But  the size of each of the two arrrays is only 5 positions. So every time you fill one of two arrays, you must print the entire array to be able to use it again for the next numbers that are read. At the end, all remaining numbers of each one of these two arrays must be printed beginning with the odd array. Each array can be filled how many times are necessary. Input The input contains 15 integer numbers. Output Print the output like the following example. Input Sample Output Sample 1 3 4 -4 2 3 8 2 5 -7 54 76 789 23 98 par[0] = 4 par[1] = -4 par[2] = 2 par[3] = 8 par[4] = 2 impar[0] = 1 impar[1] = 3 impar[2] = 3 impar[3] = 5 impar[4] = -7 impar[0] = 789 impar[1] = 23 par[0] = 54 par[1] = 76 par[2] = 98 Solution Using C: #include <stdi...

URI Problem 1186 Solution Below the Secundary Diagonal - URI Online Judge Solution

URI Online Judge Solution 1186 Below the Secundary Diagonal   Using C, Python Programming Language. Read an uppercase character that indicates an operation that will be performed in an array M[12][12]. Then, calculate and print the sum or average considering only that numbers that are below of the Secundary diagonal of the array, like shown in the following figure (green area). Input The first line of the input contains a single uppercase character O ('S' or 'M'), indicating the operation Sum or Average (Média in portuguese) to be performed with the elements of the array. Follow 144 floating-point numbers of the array. Output Print the calculated result (sum or average), with one digit after the decimal point. Input Sample Output Sample S 5.0 0.0 -3.5 2.5 4.1 ... 12.6 Solution Using C: #include <stdio.h> int main() {     double a=0.0, M[12][12];     char T[2];     int x,y,c=0;     scanf("%s", &T);     for(x=0;x<=1...