Author Archives: Mauricio Cooper

Sudoku Final Project

This is my final post, and it’s about my sudoku program

At the beggining, I fount it kind of impossible to finish, because the code scared the s#%t out of me, but it was not at hard as it is.

We just needed a little help of friends and of course the teachers help in order to understand this thing and make it work.

I’m not gonna lie, it took us a lot of time, most of it founding where was the damn problem at the time to compile it, but it was a very nice experience.

So that was it, this might be my last post so I will leave this image down below to remenber that we all are like ninjas, and also because, well sudoku dude.

Ninja banana forever !!!

Link to my code

1017

Bonus point !!!!!

This is my video for my bonus point !!!!

Link to my awesome video

 1017

Mastery 29

Data analysis with tools (to be determined which tool)

I don`t really understand what we were ask for in this mastery, so I will leave down below a 50 minute lecture about how to Analyze Data in C++. I’ve already see half of the video and it has been very helpful.

Link to what programming was for me

 

Credits:

 

https://www.youtube.com/watch?v=TDlswNp6mno

 

1017 29

Mastery 30

Visualization of data with tools C++

Views
Create portable and high performance C++ graphical user interfaces (Base Product)
Menus, buttons, text fields, toolbars, tables, trees, spreadsheets, Gantt displays, SCADA displays, custom graphic objects

Views Charts
High performance C++ charts for Views developers
Bar, line, point, area, stair, high-low, stacked, bubble, pie charts, and real-time monitoring, performance analysis

Views Graph Layout
Add diagram displays with automatic graph layout to Views applications
Network topologies, flowcharts, processes, organization charts, call graphs, schematics, hierarchies

Views Maps
High performance map displays for Views developers
Geographic map background, custom data-aware symbols, vector and raster maps

Views Data Access
Easy data connectivity for Views user interface controls
Data-aware controls

DB Link
Portable C++ database connectivity components for Views applications
Database and platform independence

Server
Represent GUI elements and topology as shared in-memory services
Connecting supervision GUI

Credits:

http://www.roguewave.com/products-services/visualization

1017 30

Mastery 28

Reading and writing of files in C++

Opening a File:

A file must be opened before you can read from it or write to it. Either the ofstream or fstreamobject may be used to open a file for writing and ifstream object is used to open a file for reading purpose only.

Following is the standard syntax for open() function, which is a member of fstream, ifstream, and ofstream objects.

Here, the first argument specifies the name and location of the file to be opened and the second argument of the open() member function defines the mode in which the file should be opened.

Mode Flag Description
ios::app Append mode. All output to that file to be appended to the end.
ios::ate Open a file for output and move the read/write control to the end of the file.
ios::in Open a file for reading.
ios::out Open a file for writing.
ios::trunc If the file already exists, its contents will be truncated before opening the file.

You can combine two or more of these values by ORing them together. For example if you want to open a file in write mode and want to truncate it in case it already exists, following will be the syntax:

Similar way, you can open a file for reading and writing purpose as follows:

Closing a File

When a C++ program terminates it automatically closes flushes all the streams, release all the allocated memory and close all the opened files. But it is always a good practice that a programmer should close all the opened files before program termination.

Following is the standard syntax for close() function, which is a member of fstream, ifstream, and ofstream objects.

Writing to a File:

While doing C++ programming, you write information to a file from your program using the stream insertion operator (ofstream or fstream object instead of the cout object.

Reading from a File:

You read information from a file into your program using the stream extraction operator (>>) just as you use that operator to input information from the keyboard. The only difference is that you use an ifstream or fstream object instead of the cin object.

Read & Write Example:

Following is the C++ program which opens a file in reading and writing mode. After writing information inputted by the user to a file named afile.dat, the program reads information from the file and outputs it onto the screen:

When the above code is compiled and executed, it produces the following sample input and output:

Above examples make use of additional functions from cin object, like getline() function to read the line from outside and ignore() function to ignore the extra characters left by previous read statement.

Credits:

http://www.tutorialspoint.com/cplusplus/cpp_files_streams.htm

1017 28

Mastery 27

Validated user input in C++

For this mastery, I found  a super useful video that taught me how to make a validation for a user input

Here is also an example code with a validation user input code:

 

 
 

int main(){
    bool valid = false;
    int input;
    while(!valid){
        if(std::cin>>input){//this checks whether an integer was entered
            if(input  0) valid = true;//then we have to see if this integer is in range
        }else std::cin.clear();//some cleaning up
		
        std::cin.ignore(std::numeric_limits<:streamsize>::max(), 'n');//empty input stream

        if(!valid) std::cout "this input is not validn";
    }
    std::cout " is between 1 and 5n";
    std::cin.get();
    return 0;
}

 

Credits:

https://www.youtube.com/watch?v=YIX7UhIKEIk

1017 27

Mastery 26

Creation and use of matrixes in C++ (multi – dimensional arrays)

Two-Dimensional Arrays:

The simplest form of the multidimensional array is the two-dimensional array. A two-dimensional array is, in essence, a list of one-dimensional arrays. To declare a two-dimensional integer array of size x,y, you would write something as follows:

Where type can be any valid C++ data type and arrayName will be a valid C++ identifier.

A two-dimensional array can be think as a table, which will have x number of rows and y number of columns. A 2-dimensional array a, which contains three rows and four columns can be shown as below:

Mastery 26

Thus, every element in array a is identified by an element name of the form a[ i ][ j ], where a is the name of the array, and i and j are the subscripts that uniquely identify each element in a.

Initializing Two-Dimensional Arrays:

Multidimensioned arrays may be initialized by specifying bracketed values for each row. Following is an array with 3 rows and each row have 4 columns.

The nested braces, which indicate the intended row, are optional. The following initialization is equivalent to previous example:

Accessing Two-Dimensional Array Elements:

An element in 2-dimensional array is accessed by using the subscripts, i.e., row index and column index of the array. For example:

The above statement will take 4th element from the 3rd row of the array. You can verify it in the above digram.

When the above code is compiled and executed, it produces the following result:

As explained above, you can have arrays with any number of dimensions, although it is likely that most of the arrays you create will be of one or two dimensions.

Credits:

http://www.tutorialspoint.com/cplusplus/cpp_multi_dimensional_arrays.htm

1017 26

Mastery 25

Creation and use of strings in C++

C++ provides following two types of string representations:

  • The C-style character string.

  • The string class type introduced with Standard C++.

The String Class in C++:

The standard C++ library provides a string class type that supports all the operations mentioned above, additionally much more functionality. We will study this class in C++ Standard Library but for now let us check following example:

At this point, you may not understand this example because so far we have not discussed Classes and Objects. So can have a look and proceed until you have understanding on Object Oriented Concepts.

When the above code is compiled and executed, it produces result something as follows:

Credits:

http://www.tutorialspoint.com/cplusplus/cpp_strings.htm

1017 25

Mastery 24

Creation and use of arrays in C++

C++ provides a data structure, the array, which stores a fixed-size sequential collection of elements of the same type. An array is used to store a collection of data, but it is often more useful to think of an array as a collection of variables of the same type.

Instead of declaring individual variables, such as number0, number1, …, and number99, you declare one array variable such as numbers and use numbers[0], numbers[1], and …, numbers[99] to represent individual variables. A specific element in an array is accessed by an index.

All arrays consist of contiguous memory locations. The lowest address corresponds to the first element and the highest address to the last element.

Declaring Arrays:

To declare an array in C++, the programmer specifies the type of the elements and the number of elements required by an array as follows:

This is called a single-dimension array. The arraySize must be an integer constant greater than zero and type can be any valid C++ data type. For example, to declare a 10-element array called balance of type double, use this statement:

Initializing Arrays:

You can initialize C++ array elements either one by one or using a single statement as follows:

The number of values between braces { } can not be larger than the number of elements that we declare for the array between square brackets [ ]. Following is an example to assign a single element of the array:

If you omit the size of the array, an array just big enough to hold the initialization is created. Therefore, if you write:

You will create exactly the same array as you did in the previous example.

The above statement assigns element number 5th in the array a value of 50.0. Array with 4th index will be 5th, i.e., last element because all arrays have 0 as the index of their first element which is also called base index. Following is the pictorial representaion of the same array we discussed above:

Mastery 24

Credits:

http://www.tutorialspoint.com/cplusplus/cpp_arrays.htm

http://www.cplusplus.com/doc/tutorial/arrays/

 

1017 24

Mastery 23

Creation and use of vectors in C++

Vector

 

Vectors are sequence containers representing arrays that can change in size.

Just like arrays, vectors use contiguous storage locations for their elements, which means that their elements can also be accessed using offsets on regular pointers to its elements, and just as efficiently as in arrays. But unlike arrays, their size can change dynamically, with their storage being handled automatically by the container.

Internally, vectors use a dynamically allocated array to store their elements. This array may need to be reallocated in order to grow in size when new elements are inserted, which implies allocating a new array and moving all elements to it. This is a relatively expensive task in terms of processing time, and thus, vectors do not reallocate each time an element is added to the container.

Example

Output:

Credits:

http://www.cplusplus.com/reference/vector/vector/vector/

http://www.cplusplus.com/reference/vector/vector/

1017 23