EBK DATA STRUCTURES AND ALGORITHMS IN C
EBK DATA STRUCTURES AND ALGORITHMS IN C
4th Edition
ISBN: 9781285415017
Author: DROZDEK
Publisher: YUZU
bartleby

Concept explainers

Question
Book Icon
Chapter 1, Problem 5E
Program Plan Intro

String functions:

The string functions and their purpose is shown below:

  • The function “strcpy(s1,s2)” copies string “s2” into “s1”.
  • The function “strcat(s1,s2)” concatenates string “s2” on end of “s1”.
  • The function “strlen(s1)” returns length of “s1”.
  • The function “strchr(s1,ch)” would return a pointer to first presence of character “ch” in string “s1” .

Explanation of Solution

//(b)strcmp function

The function “strcmp()” compares two strings. It takes header pointer of two strings as function arguments, it checks until the string reaches null and compares both strings by comparing each character at corresonding position ...

Explanation of Solution

//(c) Strcat function

The function “Strcat()” copies data of “s2” to “s1”. To do so, it first reaches end of the string “s1” using recursive calls “Strcat(++s1, s2)”...

Explanation of Solution

//(d) Strchr function

The function “Strchr()” searches for a particular character in string. It iterates through character array and compares each character with search character, if it matches then the index of match is returned.

char* Strchr(char *s, char ch)

{

/*It checks for each character in string and compares it with that of the search string until the     character array reaches null or it becomes empty. If a match is obtained, then store index of match*/

for ( ; *s != ch && *s != '\0'; s++);

  //Return index of matched character

  return *s == ch ? s : 0;

}

The main function defines two character array and tests the functions “Strlen()”, “Strcmp()”, “Strchr()”, “Strcat()” and displays the final result based on the return values of each functions

int main()

{

//Declare the variable

int ret;

//Declare character arrays

char str1[100] = "Drowning";

char *str2 = "Boat";

//Declare pointer of string

char *pch;

//Declare variables

int length ;

//Call the function "strlen()" and store the return value

length = Strlen(str1);

//Display first string

cout<<"String1: ";

puts(str1);

//Display second string

cout<<"String2: ";

puts(str2);

//Display the length of first string

cout<<"\nLength of String1 :"<< length;

//Call the function "Strcmp()" and store the return value of function

ret = Strcmp(str1,str2);

If return value is less than 0, then “String1” is less than “String2”. If return value is greater than 0, then “String2” is less than “String1”, else “String1” equals “String2”.

if(ret < 0)

{

  //Display the result

  cout<<"\nString1 is less than String2";

}

If return value is greater than 0, then “String2” is less than “String1”

else if(ret > 0)

{

  //Display the result

  cout<<"\nString2 is less than String1";

}

If “String1” equals “String2”, display the equal message

//"String1" equals "String2"

else

{

  //Display the result

  cout<<"\n String1 equals String2";

}

The function “Strchr()” is called with “str1” and search character “r” as argument, function’ sreturn value is stored, that is , the value of matched index...

Blurred answer
Students have asked these similar questions
Whentheuserenters!!,themostrecentcommandinthehistoryisexecuted.In the example above, if the user entered the command: Osh> !! The ‘ls -l’ command should be executed and echoed on user’s screen. The command should also be placed in the history buffer as the next command. Whentheuserentersasingle!followedbyanintegerN,theNthcommandin the history is executed. In the example above, if the user entered the command: Osh> ! 3 The ‘ps’ command should be executed and echoed on the user’s screen. The command should also be placed in the history buffer as the next command. Error handling: The program should also manage basic error handling. For example, if there are no commands in the history, entering !! should result in a message “No commands in history.” Also, if there is no command corresponding to the number entered with the single !, the program should output "No such command in history."
Activity No. Activity Time (weeks) Immediate Predecessors 1 Requirements collection 3 2 Requirements structuring 4 1 3 Process analysis 3 2 4 Data analysis 3 2 5 Logical design 50 3,4 6 Physical design 5 5 7 Implementation 6 6 c. Using the information from part b, prepare a network diagram. Identify the critical path.
2. UNIX Shell and History Feature [20 points] This question consists of designing a C program to serve as a shell interface that accepts user commands and then executes each command in a separate process. A shell interface gives the user a prompt, after which the next command is entered. The example below illustrates the prompt osh> and the user's next command: cat prog.c. The UNIX/Linux cat command displays the contents of the file prog.c on the terminal using the UNIX/Linux cat command and your program needs to do the same. osh> cat prog.c The above can be achieved by running your shell interface as a parent process. Every time a command is entered, you create a child process by using fork(), which then executes the user's command using one of the system calls in the exec() family (as described in Chapter 3). A C program that provides the general operations of a command-line shell can be seen below. #include #include #define MAX LINE 80 /* The maximum length command */ { int…
Knowledge Booster
Background pattern image
Computer Science
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
SEE MORE QUESTIONS
Recommended textbooks for you
Text book image
C++ Programming: From Problem Analysis to Program...
Computer Science
ISBN:9781337102087
Author:D. S. Malik
Publisher:Cengage Learning
Text book image
Systems Architecture
Computer Science
ISBN:9781305080195
Author:Stephen D. Burd
Publisher:Cengage Learning
Text book image
C++ for Engineers and Scientists
Computer Science
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Course Technology Ptr
Text book image
Microsoft Visual C#
Computer Science
ISBN:9781337102100
Author:Joyce, Farrell.
Publisher:Cengage Learning,
Text book image
New Perspectives on HTML5, CSS3, and JavaScript
Computer Science
ISBN:9781305503922
Author:Patrick M. Carey
Publisher:Cengage Learning
Text book image
EBK JAVA PROGRAMMING
Computer Science
ISBN:9781337671385
Author:FARRELL
Publisher:CENGAGE LEARNING - CONSIGNMENT