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

Sudoku Game Project in Java with full source code including GUI task

Introduction The purpose of the project is to try in practice the use of recursion and object-oriented program design. Please make sure to read this entire note before starting your work. Pay close attention to the sections on deadlines, deliverables, and exam rules. The problem Your task in this part of the project is to write a solver for Sudoku puzzles. Sudoku puzzles are a kind of crossword puzzles with numbers where the following two conditions have to be met: In each row or column, the nine numbers have to be from the set [1,2,3,4,5,6,7,8,9] and they must all be different.  For each of the nine non-overlapping 3x3 blocks, the nine numbers have to be from the set [1,2,3,4,5,6,7,8,9] and they ust all be different. The following two figures show a Sudoku puzzle and its solution. The input The input of your program, the Sudoku puzzles, is given in text files. More specifically, they are represented as nine lines of nine characters separated by spaces. The characters can be of two...