Загрузка...

Помогите

Тема в разделе Учеба создана пользователем levsha_orchid 11 окт 2024. 127 просмотров

  1. levsha_orchid
    levsha_orchid Автор темы 11 окт 2024 2 19 авг 2023
    надо написать программу которая будет шифровать слова при помощи шифра двойного квадрата СТРОГО НА ЯЗЫКЕ С :press_f:
     
  2. sadness
    google/yandex/duckduckgo/bing.
     
    1. levsha_orchid Автор темы
      sadness, не смог найти к сожалению
  3. бодян
    бодян 11 окт 2024 ЛУЧШИЕ ****** — https://lolz.live/threads/6814638/ 10 844 10 ноя 2022
    Ну тут только в дурке помогут
     
  4. witchbladeq
    witchbladeq 11 окт 2024 :sueta::sueta::beer: 57 21 апр 2022
    Дефолт задачка, chatgpt напишет
    --- Сообщение объединено с предыдущим 11 окт 2024
    Код от gpt4:
    #include <stdio.h>
    #include <string.h>
    #include <ctype.h>

    #define SIZE 5

    // Определение первого и второго квадратов для шифрования
    char square1[SIZE][SIZE] = {
    {'A', 'B', 'C', 'D', 'E'},
    {'F', 'G', 'H', 'I', 'K'},
    {'L', 'M', 'N', 'O', 'P'},
    {'Q', 'R', 'S', 'T', 'U'},
    {'V', 'W', 'X', 'Y', 'Z'}
    };

    char square2[SIZE][SIZE] = {
    {'Z', 'Y', 'X', 'W', 'V'},
    {'U', 'T', 'S', 'R', 'Q'},
    {'P', 'O', 'N', 'M', 'L'},
    {'K', 'I', 'H', 'G', 'F'},
    {'E', 'D', 'C', 'B', 'A'}
    };

    // Функция для поиска координат буквы в квадрате
    void findPosition(char square[SIZE][SIZE], char letter, int *row, int *col) {
    for (int i = 0; i < SIZE; i++) {
    for (int j = 0; j < SIZE; j++) {
    if (square[j] == letter) {
    *row = i;
    *col = j;
    return;
    }
    }
    }
    }

    // Функция для шифрования сообщения с использованием двойного квадрата
    void encryptMessage(const char *message, char *encrypted) {
    int len = strlen(message);
    int row1, col1, row2, col2;

    for (int i = 0; i < len; i++) {
    if (isalpha(message)) {
    // Обработка символа 'J' как 'I'
    char letter = toupper(message);
    if (letter == 'J') {
    letter = 'I';
    }

    // Найти позицию буквы в первом квадрате и получить координаты
    findPosition(square1, letter, &row1, &col1);

    // Получить соответствующую букву из второго квадрата
    encrypted = square2[row1][col1];
    } else {
    // Оставляем символы, не являющиеся буквами, без изменений
    encrypted = message[i][/i];
    }
    }
    encrypted[len] = '\0'; // Добавить символ конца строки
    }

    int main() {
    char message[100], encrypted[100];

    printf("Введите сообщение для шифрования: ");
    fgets(message, sizeof(message), stdin);
    message[strcspn(message, "\n")] = '\0'; // Убираем символ новой строки

    encryptMessage(message, encrypted);

    printf("Зашифрованное сообщение: %s\n", encrypted);

    return 0;
    }
    [/i]
     
    1. Посмотреть предыдущие комментарии (1)
    2. levsha_orchid Автор темы
      witchbladeq, а то через 6 часов лабу сдавать но ты спас
Top
Загрузка...