Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

The only thing I have to code is that inside of each function that I\'ll write a

ID: 3878060 • Letter: T

Question

The only thing I have to code is that inside of each function that I'll write after the project description.. And moreover, the code after that is main.cpp ( which is really long !!! and just use it as a reference) If you don't wanna read all of the main.cpp, and just doing 6 functions is fine !!

Anyone please help me to code those only 6 function to be work?

This is the only thing i need answer for Void prototype.Which i have below.

// Function Prototypes for the functions you must implement in project01.cpp
void LoadImage(const string imagefile, int image[MAXROWS][MAXCOLS])

{

}

void FlipHorizontal(int image[MAXROWS][MAXCOLS])
void FlipVertical(int image[MAXROWS][MAXCOLS])
void RotateCW(int image[MAXROWS][MAXCOLS])
void RotateCCW(int image[MAXROWS][MAXCOLS])
void Transpose(int image[MAXROWS][MAXCOLS])

<Project01 Goals>

A fundamental software engineering skill is the design, implementation, and testing of a software component that may be integrated into a larger software product. In order to do this, the software component must conform to a previously agreed upon interface format. As part of this assignment, you will practice this skill by writing several functions that will be integrated into a larger software product provided by the instructor. Along the way you will review basic C++ programming skills
required for successful completion of CPE 212.

<Project01 Description>

For this project, you will complete the provided partial C++ program by implementing six functions that perform simple image processing operations on images stored as 10x10, two dimensional arrays of integers. The image processing operations are:
(1) Load Image
(2) Horizontal Flip
(3) Vertical Flip
(4) Transpose
(5) Rotate 90° Clockwise
(6) Rotate 90° Counter Clockwise
You must implement each of these operations as a C++ function. Your code for the six
functions above must appear in the file named project01.cpp in order to compile correctly.

Remember, spelling and capitalization count in Linux/C++.
The function main() has already been implemented for you to provide a common way for everyone to test their code. The function main() will scan a sample input file and perform the requested series of image processing operations by invoking your functions as needed. Prototypes for the six functions are already provided for you in main.cpp (do not modify main.cpp !!!). All program output is performed by the code in the main.cpp file – do not include any output statements in the file project01.cpp
The interfaces to each of these functions you must write are described in detail on
subsequent pages and in the prototypes listed within main.cpp

<Project01 Support Function Specifications>

void LoadImage(const string imagefile, int image[MAXROWS][MAXCOLS]);
// LoadImage() must open the image file for input and load the image into a
// two-dimensional array for subsequent processing. Assume that the file will open.
// Parameter imagefile is a string that will hold the name of the image file to load.
// Parameter image is a two-dimensional array of integers representing the image
// loaded from the file
// Note: Correct operation of this function is critical!! If one cannot correctly
// load images into the array from the file, then one cannot test the
// image processing operations and your code will fail every test!

void FlipHorizontal(int image[MAXROWS][MAXCOLS]);
// FlipHorizontal() - must flip the image horizontally. For example,
// column zero exchanged with column N-1, column one exchanged with column N-2, etc.
// Parameter image is a two-dimensional array of integers representing the image

void FlipVertical(int image[MAXROWS][MAXCOLS]);
// FlipVertical() - must flip the image Vertically. For example,
// row zero exchanged with row N-1, row one exchanged with row N-2, etc.
// Parameter image is a two-dimensional array of integers representing the image

void RotateCW(int image[MAXROWS][MAXCOLS]);
// RotateCW() - must rotate the image 90 degrees clockwise.
// Parameter image is a two-dimensional array of integers representing the image

void RotateCCW(int image[MAXROWS][MAXCOLS]);
// RotateCCW() - must rotate the image 90 degrees counter clockwise.
// Parameter image is a two-dimensional array of integers representing the image

void Transpose(int image[MAXROWS][MAXCOLS]);
// Transpose() - must flip the image across the primary diagonal row = column as
// with a matrix transpose
// Parameter image is a two-dimensional array of integers representing the image

The code of main.cpp is here. if you don't wanna see all of this you can just do the 6 functions above. Please help me out !!!!

//
// main.cpp -- Project01, CPE212 Fall 2010 -- C++ Review Project
//
// Driver program for Image Processing Program which is used to test each
// image processing operation.
//
// DO NOT SUBMIT OR SUBMIT THIS FILE
//

// List of allowed include files appear below
#include <iostream>
#include <fstream>
#include <string>

using namespace std;                    // Global using declaration

// Global Constants -- you may use these global constants in your code
const int MAXROWS = 10;                 // Maximum number of rows in image
const int MAXCOLS = 10;                 // Maximum number of columns in image

// Function Prototypes for functions included at the end of main.cpp
void Print(const int image[MAXROWS][MAXCOLS]);
void Bars();

// Function Prototypes for the functions you must implement in project01.cpp
void LoadImage(const string imagefile, int image[MAXROWS][MAXCOLS]);
void FlipHorizontal(int image[MAXROWS][MAXCOLS]);
void FlipVertical(int image[MAXROWS][MAXCOLS]);
void RotateCW(int image[MAXROWS][MAXCOLS]);
void RotateCCW(int image[MAXROWS][MAXCOLS]);
void Transpose(int image[MAXROWS][MAXCOLS]);


// Start of main() function

int main (int argc, char * const argv[])      // Command-line arguments (more on this later)
{
ifstream inputs;                  // Input file stream variable for test file
char op, ch;                      // Hold operation and optional char input from test file
string comment;                            // Holds comment string input from test file
int image[MAXROWS][MAXCOLS];                // Array of integers representing image
string imagefile;                           // Name of image file


// Output usage message if test input file name is not provided
if (argc != 2)
{
    cout << "Usage: project01 <inputfile> ";
   return 1;
}

// Attempt to open test input file -- terminate if file does not open
inputs.open(argv[1]);
if (!inputs)
{
    cout << "Error - unable to open input file" << endl;
   return 1;
}

// Process comment line from input file
getline(inputs, comment);                    // Input file header comment
cout << endl << comment << endl << endl;     // Output file header comment
  
  
// Below is primary loop that processes each operation appearing within the test file.
// Starts with an initial priming read of first operation
  
inputs >> op;           // Attempt to input first test operation from file
  
while (inputs)                // While Not-EOF
{
    switch (op)                 // Process operation input from test file
    {
      case '#':   // Test file comment
                      getline(inputs, comment);      // Input and echo the comment appearing in the test file
                      cout << '#' << comment << endl;
                      break;
          
      case 'p':   // Print Grid
                      Print(image);                  // Function definition appears at the end of this file
                      break;                  
          
      case 'b':   // Print Bars
                      Bars();                        // Function definition appears at the end of this file
                      break;              
          
      case 'i':   // Load Image
                      inputs >> imagefile;           // Input name of imagefile from test file
                      LoadImage(imagefile, image);   // Implement this function in project01.cpp
                      break;
                  
          case '+':   // Rotate Image Clockwise 90 Degrees
                      RotateCW(image);               // Implement this function in project01.cpp
                      break;

          case '-':   // Rotate Image Counterclockwise 90 Degrees
                      RotateCCW(image);              // Implement this function in project01.cpp
                      break;          

      case 'v':   // Flip Image Vertical
                      FlipVertical(image);           // Implement this function in project01.cpp
                      break;
                      
      case 'h':   // Flip Image Horizontal
                      FlipHorizontal(image);         // Implement this function in project01.cpp
                      break;

      case 't':   // Transpose Image Across Major Diagonal
                      Transpose(image);              // Implement this function in project01.cpp
                      break;          

      default:    // Error
                      cout << "Error - unrecognized operation '" << op << "'" << endl;
                      cout << "Terminating now..." << endl;
                      return 1;
                      break;
    }
    cout << endl;
  
    inputs >> op;                                 // Attempt to input next command
}


return 0;
}

/************** Implementation of Print() and Bars() functions ********************/

// DO NOT MODIFY THIS CODE

void Print(const int image[MAXROWS][MAXCOLS])
// Print() -- outputs image row-by-row in desired format substituting
// * for 1 and - for 0.
{
   for(int r=0; r < MAXROWS; r++)               // Loop to visit each row in image
   {
       for(int c=0; c < MAXCOLS; c++)       // Loop to output every element on current row
       {
           if (image[r][c] == 1)        // Output appropriate symbol
           {
               cout << '*';
           }
           else if (image[r][c] == 0)
           {
               cout << '-';
           }
           else
           {
               cout << 'X';
           }
       }
       cout << endl;
   }
  
} // End Print()

void Bars()
// Bars() -- prints two horizontal rows of bars
{
   cout << "#################################################################" << endl;
   cout << "#################################################################" << endl;
} // End Bars()

/************** DO NOT DELETE *************/
// The preprocessor directive below will import the function definitions
// from the file project01.cpp and place them at the end of this file creating an
// Expanded Source File which is forwarded to the compiler for compilation.

#include "project01.cpp"

/************** End of main.cpp ***************/

Explanation / Answer

here is your whole Program organised in one file : ------------------------------------>>>>>>>>>>>>>>>>>>>>>

#include <iostream>
#include <fstream>
#include <string>

using namespace std;// Global using declaration

// Global Constants -- you may use these global constants in your code
const int MAXROWS = 10;// Maximum number of rows in image
const int MAXCOLS = 10;// Maximum number of columns in image

// Function Prototypes for functions included at the end of main.cpp
void Print(const int image[MAXROWS][MAXCOLS]);
void Bars();

// Function Prototypes for the functions you must implement in project01.cpp
void LoadImage(const string imagefile, int image[MAXROWS][MAXCOLS]);
void FlipHorizontal(int image[MAXROWS][MAXCOLS]);
void FlipVertical(int image[MAXROWS][MAXCOLS]);
void RotateCW(int image[MAXROWS][MAXCOLS]);
void RotateCCW(int image[MAXROWS][MAXCOLS]);
void Transpose(int image[MAXROWS][MAXCOLS]);


// Start of main() function
int main (int argc, char * const argv[])// Command-line arguments (more on this later)
{
ifstream inputs;// Input file stream variable for test file
char op, ch;// Hold operation and optional char input from test file
string comment;//                            // Holds comment string input from test file
int image[MAXROWS][MAXCOLS];//                // Array of integers representing image
string imagefile;//                           // Name of image file


// Output usage message if test input file name is not provided
if (argc != 2)
{
cout << "Usage: project01 <inputfile> ";
return 1;
}

// Attempt to open test input file -- terminate if file does not open
inputs.open(argv[1]);
if (!inputs)
{
cout << "Error - unable to open input file" << endl;
return 1;
}

// Process comment line from input file
getline(inputs, comment);//                    // Input file header comment
cout << endl << comment << endl << endl;//     // Output file header comment

// Below is primary loop that processes each operation appearing within the test file.
// Starts with an initial priming read of first operation

inputs >> op;// Attempt to input first test operation from file

while (inputs)// While Not-EOF
{
switch (op)//                 // Process operation input from test file
{
  case '#'://   // Test file comment
   getline(inputs, comment);//      // Input and echo the comment appearing in the test file
   cout << '#' << comment << endl;
   break;
  case 'p'://   // Print Grid
   Print(image);//                  // Function definition appears at the end of this file
   break;
  case 'b'://   // Print Bars
   Bars();//                        // Function definition appears at the end of this file
   break;
  case 'i'://   // Load Image
   inputs >> imagefile;//           // Input name of imagefile from test file
   LoadImage(imagefile, image);//   // Implement this function in project01.cpp
   break;
  case '+'://   // Rotate Image Clockwise 90 Degrees
   RotateCW(image);//               // Implement this function in project01.cpp
   break;
  case '-':// Rotate Image Counterclockwise 90 Degrees
   RotateCCW(image);//              // Implement this function in project01.cpp
   break;
  case 'v':// Flip Image Vertical
   FlipVertical(image);//           // Implement this function in project01.cpp
   break;
  case 'h'://   // Flip Image Horizontal
   FlipHorizontal(image);//         // Implement this function in project01.cpp
   break;
  case 't':// Transpose Image Across Major Diagonal
   Transpose(image);//              // Implement this function in project01.cpp
   break;
   default:// Error
    cout<<"Error - unrecognized operation '"<<op<<"'"<<endl;
    cout<<"Terminating now..."<<endl;
    return 1;break;
}
cout << endl;
inputs >> op;//                                 // Attempt to input next command
}

return 0;
}

void Bars()
// Bars() -- prints two horizontal rows of bars
{
cout << "#################################################################" << endl;
cout << "#################################################################" << endl;
}

void Print(const int image[MAXROWS][MAXCOLS])
// Print() -- outputs image row-by-row in desired format substituting
// * for 1 and - for 0.
{
for(int r=0; r < MAXROWS; r++)//               // Loop to visit each row in image
{
  for(int c=0; c < MAXCOLS; c++)//       // Loop to output every element on current row
  {
   if (image[r][c] == 1)//        // Output appropriate symbol
   {
    cout << '*';
   }
   else if (image[r][c] == 0)
   {
    cout << '-';
   }
   else
   {
    cout << 'X';
   }
  }
  cout << endl;
}
}
void LoadImage(const string imagefile, int image[MAXROWS][MAXCOLS])
{
ifstream file;
file.open(imagefile.c_str());
if(file.is_open()){
  for(int i = 0;i<MAXROWS;i++){
   for(int j = 0;j<MAXCOLS;j++){
    file>>image[i][j];
   }
  }
  
  file.close();
}else{
  cout<<" Error opening image File ";
}
}
void FlipHorizontal(int image[MAXROWS][MAXCOLS]){
int temp;
for(int i = 0;i<MAXROWS;i++){
  for(int j = 0;j<MAXCOLS/2;j++){
   temp = image[i][j];
   image[i][j] = image[i][MAXCOLS-j-1];
   image[i][MAXCOLS-j-1] = temp;
  }
}
}
void FlipVertical(int image[MAXROWS][MAXCOLS]){
int temp;
for(int i = 0;i<MAXROWS/2;i++){
  for(int j = 0;j<MAXCOLS;j++){
   temp = image[i][j];
   image[i][j] = image[MAXROWS-1-i][j];
   image[MAXROWS-i-1][j] = temp;
  }
}
}
void RotateCW(int image[MAXROWS][MAXCOLS]){
int temp[MAXROWS][MAXCOLS];

for(int i = 0;i<MAXROWS;i++){
  for(int j = 0;j<MAXCOLS;j++){
   temp[i][j] = image[MAXROWS-j-1][i];
  }
}

for(int i = 0;i<MAXROWS;i++){
  for(int j = 0;j<MAXCOLS;j++){
   image[i][j] = temp[i][j];
  }
}
}
void RotateCCW(int image[MAXROWS][MAXCOLS]){
int temp[MAXROWS][MAXCOLS];

for(int i = 0;i<MAXROWS;i++){
  for(int j = 0;j<MAXCOLS;j++){
   temp[i][j] = image[MAXROWS-j-1][MAXROWS-i-1];
  }
}

for(int i = 0;i<MAXROWS;i++){
  for(int j = 0;j<MAXCOLS;j++){
   image[i][j] = temp[i][j];
  }
}
}
void Transpose(int image[MAXROWS][MAXCOLS]){
int temp;
for(int i = 0;i<MAXROWS;i++){
  for(int j = 0;j<MAXCOLS;j++){
   if(i != j){
    temp = image[i][j];
    image[i][j] = image[j][i];
    image[j][i] = temp;
   }
  }
}
}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote