diff --git a/PA01-0906/EncryptionUtility.c b/PA01-0906/EncryptionUtility.c index 8d5281a..c16aa9e 100644 --- a/PA01-0906/EncryptionUtility.c +++ b/PA01-0906/EncryptionUtility.c @@ -21,11 +21,11 @@ Dependencies: as needed */ SquareArrayType *clearArrayType( SquareArrayType *data ) { - int rowIndex; + int oneDimensionIndex; - for( rowIndex = 0; rowIndex < data->sideSize; rowIndex++ ) + for( oneDimensionIndex = 0; oneDimensionIndex < data->sideSize; oneDimensionIndex++ ) { - free( data->array[ rowIndex ] ); + free( data->array[ oneDimensionIndex ] ); } free( data->array ); @@ -50,7 +50,7 @@ Dependencies: as needed */ SquareArrayType *createArrayType( int sideSize ) { - int rowIndex, colIndex; + int oneDimensionIndex, twoDimensionIndex; SquareArrayType *newData; newData = (SquareArrayType *)malloc( sizeof( SquareArrayType ) ); @@ -59,13 +59,13 @@ SquareArrayType *createArrayType( int sideSize ) newData->array = (int **)malloc( sideSize * sizeof( int * ) ); - for( rowIndex = 0; rowIndex < sideSize; rowIndex++ ) + for( oneDimensionIndex = 0; oneDimensionIndex < sideSize; oneDimensionIndex++ ) { - newData->array[ rowIndex ] = (int *)malloc( sideSize * sizeof( int ) ); + newData->array[ oneDimensionIndex ] = (int *)malloc( sideSize * sizeof( int ) ); - for( colIndex = 0; colIndex < sideSize; colIndex++ ) + for( twoDimensionIndex = 0; twoDimensionIndex < sideSize; twoDimensionIndex++ ) { - newData->array[ rowIndex ][ colIndex ] = (int)ASTERISK; + newData->array[ oneDimensionIndex ][ twoDimensionIndex ] = (int)ASTERISK; } } @@ -175,33 +175,67 @@ SquareArrayType *encryptData( const char *toEncrypt ) // iterate through the array (backwards?) [Past Charles, see diagram that you made of Square Array] int oneDimensionIndex; int twoDimensionIndex; + int differenceIndex; int currentCharacter = 0; int flagEndString = 0; - for(oneDimensionIndex = stringLenRoot - 1; oneDimensionIndex >= 0; oneDimensionIndex--) + // for(oneDimensionIndex = stringLenRoot - 1; oneDimensionIndex >= 0; oneDimensionIndex--) + // { + // // one dimension to move through array + // for(twoDimensionIndex = stringLenRoot - 1; twoDimensionIndex >= 0; twoDimensionIndex--) + // { + // if(flagEndString == 1) + // { + // // check the flag, if it is set, then start putting random data into rest of the array. + // encryptedData->array[oneDimensionIndex][twoDimensionIndex] = getRandomLetterValue(); + // } + // // second dimension to move through array + // if(toEncrypt[currentCharacter] == NULL_CHAR) + // { + // // if the null character is there, replace with the Unprintable, set flag to one. + // encryptedData->array[oneDimensionIndex][twoDimensionIndex] = UNPRINTABLE_CHAR_VALUE; + // flagEndString = 1; + // } + // else + // { + // // otherwise, continue putting the data into the 2d array. + // encryptedData->array[oneDimensionIndex][twoDimensionIndex] = toEncrypt[currentCharacter]; + // } + // currentCharacter = currentCharacter + 1; + // } + // } +for(oneDimensionIndex = stringLenRoot * 2; oneDimensionIndex >= 0; oneDimensionIndex--) +{ + // + for(twoDimensionIndex = oneDimensionIndex; twoDimensionIndex >= 0; twoDimensionIndex--) { - // one dimension to move through array - for(twoDimensionIndex = stringLenRoot - 1; twoDimensionIndex >= 0; twoDimensionIndex--) + // + differenceIndex = oneDimensionIndex - twoDimensionIndex; + if(differenceIndex < stringLenRoot && twoDimensionIndex < stringLenRoot) { - if(flagEndString == 1) - { - // check the flag, if it is set, then start putting random data into rest of the array. - encryptedData->array[oneDimensionIndex][twoDimensionIndex] = getRandomLetterValue(); - } + // printf("C "); // second dimension to move through array if(toEncrypt[currentCharacter] == NULL_CHAR) { // if the null character is there, replace with the Unprintable, set flag to one. - encryptedData->array[oneDimensionIndex][twoDimensionIndex] = UNPRINTABLE_CHAR_VALUE; + encryptedData->array[twoDimensionIndex][differenceIndex] = UNPRINTABLE_CHAR_VALUE; + currentCharacter = currentCharacter + 1; flagEndString = 1; } else { // otherwise, continue putting the data into the 2d array. - encryptedData->array[oneDimensionIndex][twoDimensionIndex] = toEncrypt[currentCharacter]; + encryptedData->array[twoDimensionIndex][differenceIndex] = toEncrypt[currentCharacter]; + } + if(flagEndString == 1) + { + // check the flag, if it is set, then start putting random data into rest of the array. + encryptedData->array[twoDimensionIndex][differenceIndex] = getRandomLetterValue(); } currentCharacter = currentCharacter + 1; } } + //printf("\n"); +} // once null character is reached, put the 'unprintable character' then random data afterward. // returns a Square Array. return encryptedData; diff --git a/PA01-0906/PA01_Main b/PA01-0906/PA01_Main index 286b100..70ca7c0 100755 Binary files a/PA01-0906/PA01_Main and b/PA01-0906/PA01_Main differ