1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
tester [92]
3 years ago
15

Now you are ready to implement a spell checker by using or quadratic. Given a document, your program should output all of the co

rrectly spelled words, labeled as such, and all of the misspelled words. For each misspelled word you should provide a list of candidate corrections from the dictionary, that can be formed by applying one of the following rules to the misspelled word:
a) Adding one character in any possible position
b) Removing one character from the word
c) Swapping adjacent characters in the word
Your program should run from the command line as follows:
% ./spell_check
You will be provided with a small document named document1_short.txt, document_1.txt,
and a dictionary file with approximately 370k words named wordsEnglish.txt.
As an example, your spell checker should correct the following mistakes.
deciive -> decisive (Case A)
deciasion -> decision (Case B)
ocunry -> counry (Case C)
//spell_check.cc file
#include "quadratic_probing.h"
#include
#include
#include
using namespace std;
int testSpellingWrapper(int argument_count, char** argument_list) {
const string document_filename(argument_list[1]);
const string dictionary_filename(argument_list[2]);
// Call functions implementing the assignment requirements.
// HashTableDouble dictionary = MakeDictionary(dictionary_filename);
// SpellChecker(dictionary, document_filename);
return 0;
}
// Sample main for program spell_check.
// WE WILL NOT USE YOUR MAIN IN TESTING. DO NOT CODE FUNCTIONALITY INTO THE
// MAIN. WE WILL DIRECTLY CALL testSpellingWrapper. ALL FUNCTIONALITY SHOULD BE
// THERE. This main is only here for your own testing purposes.
int main(int argc, char** argv) {
if (argc != 3) {
cout << "Usage: " << argv[0] << " "
<< endl;
return 0;
}
testSpellingWrapper(argc, argv);
return 0;
}

//quadratic_probing.h file
#ifndef QUADRATIC_PROBING_H
#define QUADRATIC_PROBING_H
#include
#include
#include
namespace {
// Internal method to test if a positive number is prime.
bool IsPrime(size_t n) {
if( n == 2 || n == 3 )
return true;
if( n == 1 || n % 2 == 0 )
return false;
for( int i = 3; i * i <= n; i += 2 )
if( n % i == 0 )
return false;
return true;
}
// Internal method to return a prime number at least as large as n.
int NextPrime(size_t n) {
if (n % 2 == 0)
++n;
while (!IsPrime(n)) n += 2;
return n;
}
} // namespace
// Quadratic probing implementation.
template
class HashTable {
public:
enum EntryType {ACTIVE, EMPTY, DELETED};
explicit HashTable(size_t size = 101) : array_(NextPrime(size))
{ MakeEmpty(); }
bool Contains(const HashedObj & x) const {
return IsActive(FindPos(x));
}
void MakeEmpty() {
current_size_ = 0;
for (auto &entry : array_)
entry.info_ = EMPTY;
}
bool Insert(const HashedObj & x) {
// Insert x as active
size_t current_pos = FindPos(x);
if (IsActive(current_pos))
return false;
array_[current_pos].element_ = x;
array_[current_pos].info_ = ACTIVE;
// Rehash; see Section 5.5
if (++current_size_ > array_.size() / 2)
Rehash();
return true;
}
bool Insert(HashedObj && x) {
// Insert x as active
size_t current_pos = FindPos(x);
if (IsActive(current_pos))
return false;
array_[current_pos] = std::move(x);
array_[current_pos].info_ = ACTIVE;
// Rehash; see Section 5.5
if (++current_size_ > array_.size() / 2)
Rehash();
return true;
}
bool Remove(const HashedObj & x) {
size_t current_pos = FindPos(x);
if (!IsActive(current_pos))
return false;
array_[current_pos].info_ = DELETED;
return true;
}
private:
struct HashEntry {
HashedObj element_;
EntryType info_;
HashEntry(const HashedObj& e = HashedObj{}, EntryType i = EMPTY)
:element_{e}, info_{i} { }
HashEntry(HashedObj && e, EntryType i = EMPTY)
:element_{std::move(e)}, info_{ i } {}
};
std::vector array_;
size_t current_size_;
bool IsActive(size_t current_pos) const
{ return array_[current_pos].info_ == ACTIVE; }
size_t FindPos(const HashedObj & x) const {
size_t offset = 1;
size_t current_pos = InternalHash(x);
while (array_[current_pos].info_ != EMPTY &&
array_[current_pos].element_ != x) {
current_pos += offset; // Compute ith probe.
offset += 2;
if (current_pos >= array_.size())
current_pos -= array_.size();
}
return current_pos;
}
void Rehash() {
std::vector old_array = array_;
// Create new double-sized, empty table.
array_.resize(NextPrime(2 * old_array.size()));
for (auto & entry : array_)
entry.info_ = EMPTY;
// Copy table over.
current_size_ = 0;
for (auto & entry :old_array)
if (entry.info_ == ACTIVE)
Insert(std::move(entry.element_));
}
size_t InternalHash(const HashedObj & x) const {
static std::hash hf;
return hf(x) % array_.size( );
}
};
#endif // QUADRATIC_PROBING_H
Computers and Technology
1 answer:
Harlamova29_29 [7]3 years ago
5 0

Answer:

Sorry po idont know po ehhh sorry

You might be interested in
Which character formatting effect makes text appear in a small font size below the midpoint of a line of text
pav-90 [236]

Answer:

Superscript or Subscript

Explanation:

The superscript or the subscript is a type of character which is set a little lower or more than the normal line of type. And it is generally small as compared to the other texts. The subscript does appear at or less than the baseline, and the superscript is above. And for the superscript, you need to press the Ctrl + Shift + + ( press and at the same time also hold the Ctrl and the Shift, and finally press the +). And for the subscript, you need to press the Ctrl + Shift ++(Press and at the same time also hold the Ctrl. and finally press the =). And pressing the corresponding shortcut once again, you will be back to the normal text.

4 0
3 years ago
Why isn't my brainly camera working? I got Brainly Plus and can't even scan questions. I've logged out, I've uninstalled and rei
N76 [4]

Answer:

Try resetting your device.

Explanation:

In order to send and receive iMessages to your iPhone, iMessage must be enabled. By doing this, you will associate your phone number with the email address used for your Apple ID or iCloud account.

8 0
3 years ago
Black box testing is the practice of writing tests without knowing the implementation of the code you're testing. White box test
Lelu [443]

Answer:

<u>First test:</u> Give a list of disordered numbers to the sorting algorithm an examine if the output is correctly sorted.

<u>Second test:</u> Give a list of ordered numbers to the sorting algorithm an analyze if the output is still correctly ordered.

<u>Third test:</u> Give a list of ordered numbers and some non-numeric values to the sorting algorithm and check how is managed the exception in case of error or if the output is correctly ordered.

6 0
3 years ago
23. What is the value of 3 - (4 + 2 *3)/(8-2) + 7 * 2+4
Artist 52 [7]

Answer:

30 djjjjj*fjfktdyldydxpitdotdtiotdtod

8 0
3 years ago
Look at the logic program below. Set a breakpoint after each commented instruction. You can also single step through the program
Goshia [24]

Using programming knowledge, it is possible to use programming logic, we can differentiate and find the terms

<h3>Writing the code and understanding the programming logic:</h3>

<em>.data</em>

<em>sourceword:</em>

<em>.word 0xAB</em>

<em>wordmask:</em>

<em>.word 0xCF</em>

<em>operand:</em>

<em>.long 0xAA</em>

<em>.text</em>

<em>.globl _start</em>

<em>_start:</em>

<em>movw sourceword, %ax # ax=0x00AB ( move the word value of sourceword =0x00AB to ax register.)</em>

<em>movw %ax, %bx # bx=0x00AB ( copy the value of ax to bx register.)</em>

<em>xorw %cx, %cx # cx=0000 ( cx=cx XOR cx, that is clear cx register.)</em>

<em />

<em>andw wordmask, %ax # ax=0x008B ( ax=ax AND wordmask= 0x00AB AND 0x00CF= 0x008B)</em>

<em>orw wordmask, %bx # bx=0x00EF (bx=bx OR wordmask= 0x00AB OR 0x00CF= 0x00EF.)</em>

<em>xorw wordmask, %cx # cx=0x00CF (cx=cx XOR wordmask= 0x0000 XOR 0x00CF=0x00CF.)</em>

<em />

<em>movl operand, %eax # eax=0x000000AA. ( copy the 32-bit value of operand=0x000000AA to eax.)</em>

<em>movl %eax, %ebx # ebx=0x000000AA.( copy the value of eax to ebx.)</em>

<em>movl %eax, %ecx # ecx=0x000000AA. ( copy the value of eax to ecx.)</em>

<em />

<em>shll $3,%eax # eax=0x00000550. ( logical shift left of eax=0x000000AA by 3 bits.)</em>

<em />

<em># 0x000000AA=00000000000000000000000010101010</em>

<em />

<em># =>00000000000000000000010101010000=0x00000550.</em>

<em />

<em>rorl $4,%ebx # ebx=0xA000000A. (Rotate right ebx=0x000000AA by 4 bits.)</em>

<em />

<em># 0x000000AA=00000000000000000000000010101010</em>

<em />

<em>3 =>10100000000000000000000000001010= 0xA000000A.</em>

<em />

<em>sarl %ecx # here the count value to shift the bits not mentioned.</em>

<em />

<em># It is the arithmetic shift right instruction. the shifted left bits filled with MSB bit.</em>

See more about logic program at brainly.com/question/14970713

#SPJ1

5 0
2 years ago
Other questions:
  • The number of operations executed by algorithms A and B is 40n2 and 2n3, respectively. Determine n0 such that A is better than B
    12·1 answer
  • Who invented the Graphical User Interface (GUI)?
    5·1 answer
  • A properYour customer has connected a 1000-watt microwave oven and a 600-watt mixer to a 15-amp branch service line for the kitc
    11·2 answers
  • Create a 4x5 matrix with ones everywhere and zeros on the last row.
    14·1 answer
  • Sami is creating a web page for her dog walking business. Which item will set the theme for her page? Background color Heading c
    9·1 answer
  • What is a benefit of starting a new business from scratch?
    8·1 answer
  • Can someone please help me to point out what's wrong with this C program:
    13·1 answer
  • I need help so bad it’s the entire test for EdHesive python coding Test 2
    5·1 answer
  • If a system contains 1,000 disk drives, each of which has a 750,000- hour MTBF, which of the following best describes how often
    15·1 answer
  • In the broadest of terms, the performance management process features a cycle that begins with ________________ and concludes wi
    13·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!