Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <cstdlib>
- char itoc(int);
- void readGrid(int[][8]);
- void printGrid(int[][8]);
- void checkOuts(int[][8]);
- void transfers(int[][8]);
- int ** getVacancies(int[][8]);
- int getNumberOfVacancies(int[][8]);
- int main()
- {
- int beds[5][8];
- readGrid(beds);
- printGrid(beds);
- checkOuts(beds);
- transfers(beds);
- printGrid(beds);
- return 0;
- }
- char itoc(int val)
- {
- switch(val)
- {
- case 0:
- return 'V';
- break;
- case 1:
- return 'C';
- break;
- case 2:
- return 'O';
- break;
- case 3:
- return 'W';
- break;
- case 4:
- return 'T';
- break;
- case 5:
- return 'X';
- break;
- }
- }
- void printGrid(int beds[][8])
- {
- using std::cout;
- using std::endl;
- for(int i = 0; i < 5; i++)
- {
- for(int j = 0; j < 8; j++)
- {
- cout << itoc(beds[i][j]) << " ";
- if(j==7)
- cout << endl;
- }
- }
- cout << "\n";
- }
- void readGrid(int beds[][8])
- {
- using std::fstream;
- using std::cout;
- using std::endl;
- using std::string;
- using std::ios;
- fstream infile("beds.txt", ios::in);
- string filetext;
- for(int i = 0; i < 5; i++)
- {
- for(int j = 0; j < 8; j++)
- {
- infile >> filetext;
- beds[i][j] = atoi(filetext.c_str());
- }
- }
- infile.close();
- }
- void checkOuts(int beds[][8])
- {
- for(int * iter = &beds[0][0]; iter != &beds[0][0] + 8 * 5; iter++)
- {
- if(*iter == 1)
- {
- *iter = 0;
- }
- }
- }
- void transfers(int beds[][8])
- {
- int *transfers[40];
- int transcounter = 0;
- int **vacancies = getVacancies(beds);
- for(int * iter = &beds[0][0]; iter != &beds[0][0] + 8 * 5; iter++)
- {
- if(*iter == 4)
- {
- transfers[transcounter] = iter;
- transcounter++;
- *iter = 0;
- }
- }
- for(int i = 0; i < transcounter; i++)
- {
- **(vacancies+i) = 2;
- }
- }
- int ** getVacancies(int beds[][8])
- {
- int vaccounter = 0;
- for(int * iter = &beds[0][0]; iter != &beds[0][0] + 8 * 5; iter++)
- {
- if(*iter == 0)
- {
- vaccounter++;
- }
- }
- int *vacancies[vaccounter];
- vaccounter = 0;
- for(int * iter = &beds[5][8]; iter != &beds[0][0]; iter--)
- {
- if(*iter == 0)
- {
- vaccounter++;
- vacancies[vaccounter] = iter;
- }
- }
- return vacancies;
- }
- void newPatientInput(int beds[][8])
- {
- using std::cout;
- cout << "Please enter the number of new patients";
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement