Brian Kernighan, in a lecture at the University of Nottingham, described a problem on which this task is based.

Problem

You are given a a data file of thousands of lines; each of three `whitespace` separated fields: a date, a one word name and the magnitude of the event.

Example lines from the file would be lines like:

8/27/1883    Krakatoa            8.8
5/18/1980    MountStHelens       7.6
3/13/2009    CostaRica           5.1
Task

 Create a program or script invocation to find all the events with magnitude greater than 6
 Assuming an appropriate name e.g. "data.txt" for the file:
 Either: Show how your program is invoked to process a data file of that name.
 Or: Incorporate the file name into the program, (as it is assumed that the program is single use).


// Randizo was here!
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
 
int main()
{
    ifstream file("../include/earthquake.txt");
 
    int count_quake = 0;
    int column = 1;
    string value;
    double size_quake;
    string row = "";
 
 
    while(file >> value)
    {
        if(column == 3)
        {
            size_quake = stod(value);
 
            if(size_quake>6.0)
            {
                count_quake++;
                row += value + "\t";
                cout << row << endl;
            }
 
            column = 1;
            row = "";
        }
        else
        {
            column++;
            row+=value + "\t";
        }
    }
 
    cout << "\nNumber of quakes greater than 6 is " << count_quake << endl;
 
    return 0;
}