nclude #include using namespace std; #include "h25.h" // Add your code here PLEASE WRITE THE

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question
100%

h25.cpp 

-----------------------------------------------------------

#include <string>
#include <iostream>
using namespace std;

#include "h25.h"

// Add your code here

PLEASE WRITE THE CODE HERE 


//////////////////////// STUDENT TESTING //////////////////////////

int run()
{
cout << "Add your own tests here" << endl;
return 0;
}

 

h25.h

-----------------------------------------------------------------

#ifndef H25_H_
#define H25_H_

/**
* Reverses the C-style string pointed to by s.
*
* @param s a pointer to the character in a C-style string.
*/
void reverse(char * s);

/**
* Finds the first occurrence of str2 which appears in str1.
* Returns a pointer to the first occurrence of str2 in str1.
* If no match is found, then a null pointer is returned.
* If str2 points to a string of zero length, then the argument str1 is returned.
*
* @param str1 C-string to search through.
* @param str2 C-string to search for.
* @return
*/
const char * findStr(const char *str1, const char *str2);

// DO NOT CHANGE THESE LINES
#define strcmp static_assert(false, "strcmp not allowed");
#define strstr static_assert(false, "strstr not allowed");
#define strlen(s) static_assert(false, "strlen not allowed");
#define strcat(d, s) static_assert(false, "strcat not allowed");
#define strcpy(d, s) static_assert(false, "strcpy not allowed");
#define string static_assert(false, "string not allowed");

#endif

C-String Functions
W rite two C-string functions "from scratch". Do not use any functions
from the standard library, and you cannot use the C++ string class. Read
through, and follow the instructions below.
| 1. The reverse Function
This function reverses (in place) a C-style character string s. You must use pointers and
the increment and decrement operators only.
• You may not use any library functions.
• You may not allocate any other array storage
• You may not use pointer arithmetic (that is p + n)
• You may not use array notation in your function.
In other words, there will be no int variables or literals in your function: only pointers
along with assignment, comparison, pointer subtraction, ++ and/or --; you may use:
a temporary char variable to exchange the elements of the string
• a temporary pointer.
If you get stuck, please ask questions on Piazza.
2. The
findStr Function
Implement your version of the standard C-library function strstr(). So that it doesn't
conflict with the names in the standard library, use findStr().
1 | const char * findstr(const char *s1, const char *s2);
The findStr prototype.
Transcribed Image Text:C-String Functions W rite two C-string functions "from scratch". Do not use any functions from the standard library, and you cannot use the C++ string class. Read through, and follow the instructions below. | 1. The reverse Function This function reverses (in place) a C-style character string s. You must use pointers and the increment and decrement operators only. • You may not use any library functions. • You may not allocate any other array storage • You may not use pointer arithmetic (that is p + n) • You may not use array notation in your function. In other words, there will be no int variables or literals in your function: only pointers along with assignment, comparison, pointer subtraction, ++ and/or --; you may use: a temporary char variable to exchange the elements of the string • a temporary pointer. If you get stuck, please ask questions on Piazza. 2. The findStr Function Implement your version of the standard C-library function strstr(). So that it doesn't conflict with the names in the standard library, use findStr(). 1 | const char * findstr(const char *s1, const char *s2); The findStr prototype.
The function:
• finds the first occurrence of the entire string s2 inside the string s1
• returns a pointer to the first occurrence.
• If no match is found, then return the C++ nullptr.
• If s2 points to a string of zero length, then return s1.
Here are some examples:
findstr("cowtown", "ow"); // returns &s1[1]
findstr("cowtown", "own"); // returns &s1[4]
3 findstr("cowtown", "two"); // returns nullptr
Using the findStr function.
You may use pointer notation or array notation. However, do not use any functions
from the standard library. That includes strlen() or the C++ string class.
Transcribed Image Text:The function: • finds the first occurrence of the entire string s2 inside the string s1 • returns a pointer to the first occurrence. • If no match is found, then return the C++ nullptr. • If s2 points to a string of zero length, then return s1. Here are some examples: findstr("cowtown", "ow"); // returns &s1[1] findstr("cowtown", "own"); // returns &s1[4] 3 findstr("cowtown", "two"); // returns nullptr Using the findStr function. You may use pointer notation or array notation. However, do not use any functions from the standard library. That includes strlen() or the C++ string class.
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps with 3 images

Blurred answer
Similar questions
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY