Метод Виженера - исправить код - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Помогите исправить ошибку в коде.
#include "stdio.h"
#include "conio.h"
#include "clocale"
#include "string.h"
int const Kol=24;
char X[Kol]="abcdefghiklmnopqrstvxyz";
char Buf[Kol][Kol]={NULL};
int i=0,j=0,K,N;
void Table()
{
        for(i=0;i<Kol;i++)
    {
        for(j=0;j<Kol;j++)
        {
            K=i+j;
            if(K>=Kol) K=K-Kol;
            if((i!=0&&K==0)||(i>=2&&K==1)||(i>=3&&K==2)||(i>=4&&K==3)||(i>=5&&K==4)||(i>=6&&K==5)||(i>=7&&K==6)||(i>=8&&K==7)||(i>=9&&K==8)||(i>=10&&K==9)||(i>=11&&K==10)||(i>=12&&K==11)||(i>=13&&K==12)||(i>=14&&K==13)||(i>=15&&K==14)||(i>=16&&K==15)||(i>=17&&K==16)||(i>=18&&K==17)||(i>=19&&K==18)||(i>=20&&K==19)||(i>=21&&K==20)||(i>=22&&K==21)||(i>=23&&K==22)) Buf[i][j-1]=X[K];
            else Buf[i][j]=X[K];
        }
    }
    /*for(i=0;i<Kol;i++)
    {
        for(j=0;j<Kol;j++)
        {
            printf("%c",Buf[i][j]);
        }
        printf("\n");
    }*/
    
}
void main()
{
    setlocale(LC_ALL,"Russian");
    Table();
    char Hf[100]={NULL}, Ob[100]={NULL}, Key[4]={NULL};
    printf ("Ведите ключевое слово ");
    for(i=0;i<3;i++)
    {
        scanf("%c",&Key[i]);
    }
    printf ("Введите текст ");
    for(i=0;i<6;i++)
    {
        scanf("%c",&Hf);
    }
    int G,M_Hf, M_Key,p=0,p1=0;
    for(G=0; G<strlen(Hf);G++)
    {
        i=0; j=0;
        while(i!=Kol)
        {
            if(Buf[0][i]==Hf[p]) {M_Hf=i; p++;}
            else i++;
        }
        if(p1>strlen(Key)) p1=0;
        while(j!=Kol)
        {
            if(Buf[i][0]==Key[p1]) {M_Key=j;p1++;}
            else j++;
        }
        Ob[G]=Buf[M_Hf][M_Key];
    }
getch();
}

Решение задачи: «Метод Виженера - исправить код»

textual
Листинг программы
Парта - начальное значение

Парта
_бс_б
__т__

Пбттб - исходное значение

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


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

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

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