Skip to main content

Blob Finder implementation in C++ Assignment - 4 COP3010 Programming I in C/C++

Description:

This assignment will not be very much code but can be very complex in execution. There are many places where a small error can not only be catastrophic but be very difficult to detect. In this assignment you will be working with reading in text files into multi-dimensional arrays, passing 2d arrays as parameters and using recursive functions.

You will write a program to read in a file and find out how many groupings (blobs) of characters there are in the file. The image below is a sample input file. Note that it contains 6 groupings of characters or blobs.

A character is part of a grouping or blob if it touches another character in the grouping on 1 of 8 positions around it. Notice that one of the groupings or blobs is located inside of another.

You will open a file called blob.txt which will be provided to you. The file will contain exactly 20 records each of which is exactly 70 characters long. Your program can make the assumption that both the file name and size of the file (rows and columns) are exact. The characters will either be a space (blank ) or have an upper case X.

Programming Specifications: Here are the lists of tasks and specifications.

  • Read in a file into a 2-dimensional array of size 22 rows and 72 columns.
  • Leave the 1st column and last column in the array blank. I.E. start populating data in Column 1.
  • Leave the 1st row and last row of the array blank. I.E. start populating data in Row 1
  • You need only have one function in your program and that is the recursive function that finds and clears out each grouping or blob.
  • Your only output is the correct number of blobs as show in the sample output.

Design Considerations:


  • The text file must be read into a 2-d array so that it can be searched. The first and last rows and columns of the 2-d array should be blank to avoid having to check boundaries of the array during processing.
  • Once you find a character that is non-blank you should set it to a space so it is not detected again. If you choose to do the extra credit work, once you have printed out the text file or 2d array there is no reason to keep it whole.
  • You must hard code the file name to “blob.txt”.

General Requirements:


  • No global variables, other than constants and type definitions!
  • Use the const qualifier on member functions wherever it is appropriate.
  • Your main routine should just mainly handle the calling of functions and basic program structure.
  • You will need to use the <iostream library for output. You may use the <iomanip library for formatting your output if you wish.
  • When you write source code, it should be readable and well-documented.
  • You must have prototypes for all of your functions.
  • You may use any sorting technique you wish but the simplest (exchange or bubble sort) is all that is required.
  • The size of the array must match exactly the number of records in the file. No more no less.

Get your solution now

Buy now

Comments

Popular posts from this blog

The Zoo Management System - entity relationship diagram & MS Access Database

Zoo Management System - Project Details: You are the employee of a big, worldwide working Zoo Management Company. Your company is responsible for the Zoo management. Your boss thinks it would be a great idea to store all data for each Zoo in a brand new self-developed ZOO Management System. Up to now, the ZOO management company has maps of each ZOO available. Your boss knows that you took a course in introduction on an ERP system, so he asks you if you could help designing such a system. Each ZOO must have the same organizational structure, which should look like this: Each Zoo has a Zoo-Address. Each Zoo has many visitors (Visitor Ticket Process (VTP). Many Zoo-Attractions belong to a Zoo. Module 1: Entity Relationship Diagram Design a ER (entity-relationship) diagram for your ZOO Management System. Use the information provided below with the entities and its attributes. Put the entities in the correct relationship to each other (organizational structure). Module 2: DB Implem...

Human Physiology by Stuart Ira Fox [PDF] (12th edition) free download

Student Registration System Web Project using HTML, CSS & PHP

Student Registry System In this task, you’re to further develop the student registry you started on lab-task. The solution is based the on the use of HTML5, stylesheets, and PHP, and will use a database for storage of information, MySQL on (school website) is used for this. Information of students is saved in the table student, ID is primary key and is set In addition to this, you need a table named class where id a is the primary key and is set up with AUTOINCREMENT, other columns and data types in accordance with the figure. The property class in the student table needs to be a foreign key that refers to the ID column in the class table. In MySQL you need to use tables of the type INNODB with support for foreign keys, reference integrity shall remain. The task: Write a class with the name StudentRegister (means Student registry), the class should use PDO and only prepared statements/questions. The class shall implement the interface StudentInterface, and use the two classes, Student,...