Diff
checker
텍스트
텍스트
이미지
문서
Excel
폴더
Legal
Enterprise
데스크톱
요금제
로그인
데스크톱 앱 다운로드
텍스트 비교
두 텍스트 파일의 차이점을 찾아보세요
도구
기록
실시간 편집
공백 변경 숨기기
변경 없는 행 숨기기
줄바꿈 비활성화
레이아웃
나란히 보기
합쳐 보기
비교 단위
스마트
단어
글자
텍스트 스타일
모양 변경
구문 강조
언어 선택
제외
텍스트 변환
첫 변경으로
수정
Diffchecker Desktop
가장 안전하게 Diffchecker를 사용하는 방법. 데스크톱 앱을 사용하면 비교 데이터가 외부로 전송되지 않습니다!
데스크톱 앱 받기
Untitled diff
생성일
10년 전
비교 결과 만료 없음
초기화
내보내기
공유
설명
16 삭제
행
총
삭제
글자
총
삭제
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
93 행
복사
14 추가
행
총
추가
글자
총
추가
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
92 행
복사
#include <stdio.h>
#include <stdio.h>
#include <cs50.h>
#include <cs50.h>
#include <string.h>
#include <string.h>
#include <ctype.h>
#include <ctype.h>
#include <math.h>
#include <math.h>
void EncryptLower(int key, char i);
void EncryptLower(int key, char i);
void EncryptUpper(int key, char i);
void EncryptUpper(int key, char i);
int WhichArray(char* keyword, int CharNum);
int WhichArray(char* keyword, int CharNum);
int main(int argc, string argv[])
int main(int argc, string argv[])
{
{
if (argc != 2)
if (argc != 2)
{
{
printf("Please enter one key after ./vigenere\n.");
printf("Please enter one key after ./vigenere\n.");
return 1; // Make sure that 2 arguments are passed into the program else exit and return 1 as error message
return 1; // Make sure that 2 arguments are passed into the program else exit and return 1 as error message
}
}
복사
복사됨
복사
복사됨
char* keyword = argv[1]; // Assign the key into a variable
//
char* keyword = argv[1]; // Assign the key into a variable
//if (isalpha(keyword) != true) // Check that the key is all letters
//if (isalpha(keyword) != true) // Check that the key is all letters
//{
//{
// return 1; // Exit program
// return 1; // Exit program
//}
//}
복사
복사됨
복사
복사됨
char*
message = GetString(); // Store the message
string
message = GetString(); // Store the message
복사
복사됨
복사
복사됨
int z = strlen(message);
//
int z = strlen(message);
//
int shift[
z
];
int shift[
strlen(argv[1])
];
복사
복사됨
복사
복사됨
for(int a = 0, n = strlen(
keyword
); a < n; a++) //Go through the characters of the key and create an array of keys to use
for(int a = 0, n = strlen(
argv[1]
); a < n; a++) //Go through the characters of the key and create an array of keys to use
{
{
복사
복사됨
복사
복사됨
if(isupper(
keyword
[a]))
if(isupper(
argv[1]
[a]))
{
{
복사
복사됨
복사
복사됨
int
shift[
n
] =
keyword
[a] - 65; // populate the array with an index to encrypt with
shift[
a
] =
argv[1]
[a] - 65; // populate the array with an index to encrypt with
}
}
복사
복사됨
복사
복사됨
else if(islower(
argv[1]
[a]))
else if(islower(
keyword
[a]))
{
{
복사
복사됨
복사
복사됨
int
shift[
n
] =
keyword
[a] - 97; // populate the array with an index to encrypt with
shift[
a
] =
argv[1]
[a] - 97; // populate the array with an index to encrypt with
}
}
}
}
for(int i = 0, x = strlen(message); i < x; i++) // for first to last character
for(int i = 0, x = strlen(message); i < x; i++) // for first to last character
{
{
if(isalpha(message[i])) // Check if the value is a character
if(isalpha(message[i])) // Check if the value is a character
{
{
if(islower(message[i])) // check if the value is lowercase
if(islower(message[i])) // check if the value is lowercase
{
{
복사
복사됨
복사
복사됨
int key0 = shift [WhichArray(
keyword
, i)]; // which array will find which number of array to pull this should work.
int key0 = shift [WhichArray(
argv[1]
, i)]; // which array will find which number of array to pull this should work.
EncryptLower(key0, message[i]);
EncryptLower(key0, message[i]);
}
}
else if(isupper(message[i])) //check if the the value is uppercase
else if(isupper(message[i])) //check if the the value is uppercase
{
{
복사
복사됨
복사
복사됨
int key1 = shift [WhichArray(
keyword
, i)];
int key1 = shift [WhichArray(
argv[1]
, i)];
EncryptUpper(key1, message[i]);
EncryptUpper(key1, message[i]);
}
}
}
}
else
else
{
{
printf("%c", message[i]); // Not sure if this will work, print any charcter not encrypted eg. a number or brackets
printf("%c", message[i]); // Not sure if this will work, print any charcter not encrypted eg. a number or brackets
}
}
}
}
printf("\n");
printf("\n");
return 0;
return 0;
}
}
void EncryptLower(int key, char i) // Encrypt Lowercase letters
void EncryptLower(int key, char i) // Encrypt Lowercase letters
{
{
int cipher = ((i + key - 97) % 26) + 97; //encrypt the char
int cipher = ((i + key - 97) % 26) + 97; //encrypt the char
printf("%c", cipher); // print the encrypted char
printf("%c", cipher); // print the encrypted char
}
}
void EncryptUpper(int key, char i) // Encrypt the uppercase letters
void EncryptUpper(int key, char i) // Encrypt the uppercase letters
{
{
int cipher = ((i + key - 65) % 26) + 65; // encrypt the char
int cipher = ((i + key - 65) % 26) + 65; // encrypt the char
printf("%c", cipher); // print the encrypted char
printf("%c", cipher); // print the encrypted char
}
}
int WhichArray(char* keyword, int CharNum) // Find out which array to go into, CharNum is the character number in the string
int WhichArray(char* keyword, int CharNum) // Find out which array to go into, CharNum is the character number in the string
{
{
int x = CharNum % strlen(keyword);
int x = CharNum % strlen(keyword);
return x;
return x;
}
}
저장된 비교 결과
원본
파일 열기
#include <stdio.h> #include <cs50.h> #include <string.h> #include <ctype.h> #include <math.h> void EncryptLower(int key, char i); void EncryptUpper(int key, char i); int WhichArray(char* keyword, int CharNum); int main(int argc, string argv[]) { if (argc != 2) { printf("Please enter one key after ./vigenere\n."); return 1; // Make sure that 2 arguments are passed into the program else exit and return 1 as error message } char* keyword = argv[1]; // Assign the key into a variable //if (isalpha(keyword) != true) // Check that the key is all letters //{ // return 1; // Exit program //} char* message = GetString(); // Store the message int z = strlen(message); //int shift[z]; for(int a = 0, n = strlen(keyword); a < n; a++) //Go through the characters of the key and create an array of keys to use { if(isupper(keyword[a])) { int shift[n] = keyword[a] - 65; // populate the array with an index to encrypt with } else if(islower(keyword[a])) { int shift[n] = keyword[a] - 97; // populate the array with an index to encrypt with } } for(int i = 0, x = strlen(message); i < x; i++) // for first to last character { if(isalpha(message[i])) // Check if the value is a character { if(islower(message[i])) // check if the value is lowercase { int key0 = shift [WhichArray(keyword, i)]; // which array will find which number of array to pull this should work. EncryptLower(key0, message[i]); } else if(isupper(message[i])) //check if the the value is uppercase { int key1 = shift [WhichArray(keyword, i)]; EncryptUpper(key1, message[i]); } } else { printf("%c", message[i]); // Not sure if this will work, print any charcter not encrypted eg. a number or brackets } } printf("\n"); return 0; } void EncryptLower(int key, char i) // Encrypt Lowercase letters { int cipher = ((i + key - 97) % 26) + 97; //encrypt the char printf("%c", cipher); // print the encrypted char } void EncryptUpper(int key, char i) // Encrypt the uppercase letters { int cipher = ((i + key - 65) % 26) + 65; // encrypt the char printf("%c", cipher); // print the encrypted char } int WhichArray(char* keyword, int CharNum) // Find out which array to go into, CharNum is the character number in the string { int x = CharNum % strlen(keyword); return x; }
수정본
파일 열기
#include <stdio.h> #include <cs50.h> #include <string.h> #include <ctype.h> #include <math.h> void EncryptLower(int key, char i); void EncryptUpper(int key, char i); int WhichArray(char* keyword, int CharNum); int main(int argc, string argv[]) { if (argc != 2) { printf("Please enter one key after ./vigenere\n."); return 1; // Make sure that 2 arguments are passed into the program else exit and return 1 as error message } //char* keyword = argv[1]; // Assign the key into a variable //if (isalpha(keyword) != true) // Check that the key is all letters //{ // return 1; // Exit program //} string message = GetString(); // Store the message //int z = strlen(message); int shift[strlen(argv[1])]; for(int a = 0, n = strlen(argv[1]); a < n; a++) //Go through the characters of the key and create an array of keys to use { if(isupper(argv[1][a])) { shift[a] = argv[1][a] - 65; // populate the array with an index to encrypt with } else if(islower(argv[1][a])) { shift[a] = argv[1][a] - 97; // populate the array with an index to encrypt with } } for(int i = 0, x = strlen(message); i < x; i++) // for first to last character { if(isalpha(message[i])) // Check if the value is a character { if(islower(message[i])) // check if the value is lowercase { int key0 = shift [WhichArray(argv[1], i)]; // which array will find which number of array to pull this should work. EncryptLower(key0, message[i]); } else if(isupper(message[i])) //check if the the value is uppercase { int key1 = shift [WhichArray(argv[1], i)]; EncryptUpper(key1, message[i]); } } else { printf("%c", message[i]); // Not sure if this will work, print any charcter not encrypted eg. a number or brackets } } printf("\n"); return 0; } void EncryptLower(int key, char i) // Encrypt Lowercase letters { int cipher = ((i + key - 97) % 26) + 97; //encrypt the char printf("%c", cipher); // print the encrypted char } void EncryptUpper(int key, char i) // Encrypt the uppercase letters { int cipher = ((i + key - 65) % 26) + 65; // encrypt the char printf("%c", cipher); // print the encrypted char } int WhichArray(char* keyword, int CharNum) // Find out which array to go into, CharNum is the character number in the string { int x = CharNum % strlen(keyword); return x; }
비교하기