Рубрики

Программа для шифрования строки с помощью! и @

По заданной строке задача состоит в том, чтобы зашифровать эту строку, используя ! и символы @ , альтернативно. При шифровании сообщения в зашифрованном формате символ должен повторяться столько раз, сколько буквенной позиции в алфавитном порядке.

Примеры:

Input: string = "Ab" 
Output: !@@
Explanation:
Position of 'A' in alphabetical order is 1
and in String is odd position 
so encrypted message will have 1 '!'

Position of 'b' in alphabetical order is 2
and in String is even position 
so encrypted message will have 2 '@'

Therefore, the output "!@@"

Input: string = "CDE"
Output: !!!@@@@!!!!

Подход: это очень простой и простой тип техники шифрования, который можно сделать следующим образом:

  • Получить персонажа одного за другим из строки
  • Для каждого символа получите разницу между значением ASCII этого символа и «A» (если символ является заглавной буквой) или «a» (если буква является маленькой буквой). Это будет количество раз, которое символ шифрования должен быть повторен.
  • Для i-го символа строки, если я нечетный, символ шифрования будет '!' и если я четный, символ шифрования будет '@'.

Ниже приведена реализация приведенного выше кода:

С

// C программа для шифрования строки
// с помощью ! и @

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

  
// Функция для шифрования строки

void encrypt(char input[100])

{

  

    // EvenPos для хранения шифрования

    // char at evenPosition

    // oddPos для хранения шифрования

    // char в oddPosition

    char evenPos = '@', oddPos = '!';

  

    int repeat, ascii;

  

    for (int i = 0; i <= strlen(input); i++) {

  

        // Получить количество раз персонажа

        // должно быть повторено

        ascii = input[i];

        repeat = ascii >= 97 ? ascii - 96 : ascii - 64;

  

        for (int j = 0; j < repeat; j++) {

            // если я нечетный, выведите '!'

            // еще печатать '@'

            if (i % 2 == 0)

                printf("%c", oddPos);

            else

                printf("%c", evenPos);

        }

    }

}

  
// Код драйвера

void main()

{

    char input[100] = { 'A', 'b', 'C', 'd' };

  

    // Зашифруем строку

    encrypt(input);

}

Джава

// Java-программа для шифрования строки
// с помощью ! и @

class GFG 

{

  
// Функция для шифрования строки

static void encrypt(char input[])

{

  

    // EvenPos для хранения шифрования

    // char at evenPosition

    // oddPos для хранения шифрования

    // char в oddPosition

    char evenPos = '@', oddPos = '!';

  

    int repeat, ascii;

  

    for (int i = 0; i < input.length; i++)

    {

  

        // Получить количество раз персонажа

        // должно быть повторено

        ascii = input[i];

        repeat = ascii >= 97

                  ascii - 96 : ascii - 64;

  

        for (int j = 0; j < repeat; j++)

        {

            // если я нечетный, выведите '!'

            // еще печатать '@'

            if (i % 2 == 0)

                System.out.printf("%c", oddPos);

            else

                System.out.printf("%c", evenPos);

        }

    }

}

  
// Код драйвера

public static void main(String[] args)

{

    char input[] = { 'A', 'b', 'C', 'd' };

  

    // Зашифруем строку

    encrypt(input);

}

  
// Этот код предоставлен PrinciRaj1992

python3

# Python3 программа для шифрования строки
# с помощью ! и @

  
# Функция для шифрования строки

def encrypt(input_arr) :

  

    # EvenPos для хранения шифрования

    # char at evenPosition

    # oddPos для хранения шифрования

    # char в oddPosition

    evenPos = '@'; oddPos = '!'

  

    for i in range(len(input_arr)) :

  

        # Получить количество раз персонажа

        # должно быть повторено

        ascii = ord(input_arr[i]); 

        repeat = (ascii - 96 ) if ascii >= 97 \

                               else (ascii - 64); 

  

        for j in range(repeat) :

              

            # если я нечетный, выведите '!'

            # еще печатать '@'

            if (i % 2 == 0) :

                print(oddPos, end = ""); 

            else :

                print(evenPos, end = ""); 

  
# Код драйвера

if __name__ == "__main__"

  

    input_arr = [ 'A', 'b', 'C', 'd' ]; 

  

    # Зашифровать строку

    encrypt(input_arr); 

      
# Этот код предоставлен AnkitRai01

C #

// C # программа для шифрования строки
// с помощью ! и @

using System;

using System.Collections.Generic;

  

class GFG 

{

  
// Функция для шифрования строки

static void encrypt(char []input)

{

  

    // EvenPos для хранения шифрования

    // char at evenPosition

    // oddPos для хранения шифрования

    // char в oddPosition

    char evenPos = '@', oddPos = '!';

  

    int repeat, ascii;

  

    for (int i = 0; i < input.Length; i++)

    {

  

        // Получить количество раз персонажа

        // должно быть повторено

        ascii = input[i];

        repeat = ascii >= 97 ? 

                ascii - 96 : ascii - 64;

  

        for (int j = 0; j < repeat; j++)

        {

            // если я нечетный, выведите '!'

            // еще печатать '@'

            if (i % 2 == 0)

                Console.Write("{0}", oddPos);

            else

                Console.Write("{0}", evenPos);

        }

    }

}

  
// Код драйвера

public static void Main(String[] args)

{

    char []input = { 'A', 'b', 'C', 'd' };

  

    // Зашифруем строку

    encrypt(input);

}

  
// Этот код предоставлен 29AjayKumar

Выход:

!@@!!!@@@@

Рекомендуемые посты:

Программа для шифрования строки с помощью! и @

0.00 (0%) 0 votes