Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #define LONGEST_WORD 10
- #define WORD_LIST_LENGTH 1275
- char word_list[WORD_LIST_LENGTH][LONGEST_WORD + 1];
- char sort_list[WORD_LIST_LENGTH][LONGEST_WORD + 1];
- char word_decode[][LONGEST_WORD + 1] = {"mkeart~~~~", "sleewa~~~~", "edcudls~~~", "iragoge~~~", "usrlsle~~~",
- "nalraoci~~", "nsdeuto~~~", "amrhat~~~~", "inknsy~~~~", "iferkna~~~"};
- char sort_decode[][LONGEST_WORD + 1] = {"mkeart~~~~", "sleewa~~~~", "edcudls~~~", "iragoge~~~", "usrlsle~~~",
- "nalraoci~~", "nsdeuto~~~", "amrhat~~~~", "inknsy~~~~", "iferkna~~~"};
- void list_swap(int a, int b){
- char temp = sort_list[a][b + 1];
- sort_list[a][b + 1] = sort_list[a][b];
- sort_list[a][b] = temp;
- }
- void list_sort(){
- int v_one = 0, v_two = 0;
- int i = 0, j = 0, k = 0;
- for(i = 0; i < WORD_LIST_LENGTH; i++){
- for(j = 0; j < LONGEST_WORD; j++){
- for(k = j; k >= 0; k--){
- v_one = (int)sort_list[i][k];
- v_two = (int)sort_list[i][k + 1];
- if(v_one > v_two && (k + 1) < LONGEST_WORD){
- list_swap(i, k);
- }
- }
- }
- }
- }
- void decode_swap(int a, int b){
- char temp = sort_decode[a][b + 1];
- sort_decode[a][b + 1] = sort_decode[a][b];
- sort_decode[a][b] = temp;
- }
- void decode_sort(){
- int v_one = 0, v_two = 0;
- int i = 0, j = 0, k = 0;
- for(i = 0; i < (sizeof(sort_decode) / (LONGEST_WORD + 1)); i++){
- for(j = 0; j < LONGEST_WORD; j++){
- for(k = j; k >= 0; k--){
- v_one = (int)sort_decode[i][k];
- v_two = (int)sort_decode[i][k + 1];
- if(v_one > v_two && (k + 1) < LONGEST_WORD){
- decode_swap(i, k);
- }
- }
- }
- }
- }
- int compare(int a, int x, int y){
- if(sort_decode[a][y] == sort_list[x][y]){
- if((y + 1) < LONGEST_WORD){
- return compare(a, x, y + 1);
- }
- else{
- return 1;
- }
- }
- else{
- return 2;
- }
- }
- int main(){
- char line[LONGEST_WORD];
- FILE *file;
- file = fopen("wordlist.txt", "rt");
- int i = 0, k = 0, m = 0, n = 0;
- for(i = 0; i < WORD_LIST_LENGTH; i++){
- fgets(line, LONGEST_WORD, file);
- for(k = 0; k < LONGEST_WORD; k++){
- if(line[k] == '\n'){
- while(k < LONGEST_WORD){
- word_list[i][k] = '~';
- sort_list[i][k] = '~';
- k++;
- }
- break;
- }
- else{
- word_list[i][k] = line[k];
- sort_list[i][k] = line[k];
- }
- }
- }
- fclose(file);
- list_sort();
- decode_sort();
- for(m = 0; m < (sizeof(sort_decode) / (LONGEST_WORD + 1)); m++){
- for(n = 0; n < WORD_LIST_LENGTH; n++){
- if(compare(m, n, 0) == 1){
- printf("%s decoded is %s\n", word_decode[m], word_list[n]);
- }
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement