How to resolve the algorithm Kernighans large earthquake problem step by step in the C# programming language
How to resolve the algorithm Kernighans large earthquake problem step by step in the C# programming language
Table of Contents
Problem Statement
Brian Kernighan, in a lecture at the University of Nottingham, described a problem on which this task is based.
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:
Let's start with the solution:
Step by Step solution about How to resolve the algorithm Kernighans large earthquake problem step by step in the C# programming language
The code snippet you provided is a C# program that reads a file containing earthquake data and filters the data to only include earthquakes with a magnitude greater than a specified limit. The program then prints the filtered data to the console.
The program starts by defining a method called LargeEarthquakes
that takes two parameters: a filename and a magnitude limit. The method returns an IEnumerable of string arrays, where each string array represents an earthquake.
The LargeEarthquakes
method uses the File.ReadLines
method to read the lines of the specified file. For each line in the file, the method splits the line into parts using the Split
method. The Split
method takes a character array as an argument, and it splits the line into parts at each occurrence of the specified characters. In this case, the Split
method is called with default(char[])
, which means that the line will be split at every character.
The LargeEarthquakes
method then uses a LINQ query to filter the parts of each line. The query selects the parts of each line where the third part (the earthquake magnitude) is greater than the specified limit.
The LargeEarthquakes
method finally returns the filtered data as an IEnumerable of string arrays.
The Main
method of the program calls the LargeEarthquakes
method with the filename data.txt
and the magnitude limit 6
. The Main
method then iterates over the filtered data and prints each earthquake to the console.
Here is an example of the output of the program:
7.9 2015-09-16 Tonga
7.8 2016-09-01 Mexico
Source code in the csharp programming language
using System;
using System.IO;
using System.Linq;
using System.Collections.Generic;
public class Program
{
static void Main() {
foreach (var earthquake in LargeEarthquakes("data.txt", 6))
Console.WriteLine(string.Join(" ", earthquake));
}
static IEnumerable<string[]> LargeEarthquakes(string filename, double limit) =>
from line in File.ReadLines(filename)
let parts = line.Split(default(char[]), StringSplitOptions.RemoveEmptyEntries)
where double.Parse(parts[2]) > limit
select parts;
}
You may also check:How to resolve the algorithm Paraffins step by step in the Mathematica/Wolfram Language programming language
You may also check:How to resolve the algorithm Pick random element step by step in the Action! programming language
You may also check:How to resolve the algorithm Environment variables step by step in the V (Vlang) programming language
You may also check:How to resolve the algorithm Happy numbers step by step in the Lasso programming language
You may also check:How to resolve the algorithm Inheritance/Multiple step by step in the Factor programming language