Practice Problem 2.26 (solution page 151)
You are given the assignment of writing a function that determines whether one string is longer than another. You decide to make use of the string library function strlen having the following declaration:
/* Prototype for library function strlen */
size_t strlen(const char *s);
Here is your first attempt at the function:
/* Determine whether string s is longer than string t */
/* WARNING: This function is buggy */
int strlonger(char *s, char *t) {
return strlen (s) - strlen (t) > 0;
}
When you test this on some sample data, things do not seem to work quite right. You investigate further and determine that, when compiled as a 32-bit
program, data type size is defined (via typed) in header file stdio . h to ̑ be unsigned.
- A. For what cases will this function produce an incorrect result?
- B. Explain how this incorrect result comes about.
- C. Show how to fix the code so that it will work reliably.
Want to see the full answer?
Check out a sample textbook solutionChapter 2 Solutions
Computer Systems: A Programmer's Perspective (3rd Edition)
Additional Engineering Textbook Solutions
Starting Out With Visual Basic (7th Edition)
Starting Out With Visual Basic (8th Edition)
Starting Out with Java: From Control Structures through Data Structures (3rd Edition)
Java: An Introduction to Problem Solving and Programming (7th Edition)
Starting Out with C++: Early Objects
Web Development and Design Foundations with HTML5 (9th Edition) (What's New in Computer Science)
- Problem 4 (Count Token) Write a function called count_token(source, token) that takes two strings as input; a source and a token. The function should use a recursive process to count the number of times the token appears in the source string. You may assume the token is only a single character long. Sample run: >> print(count_token('peter piper picked a peck of pickled peppers', 'p')) 9. >>> print(count_token ("betty botter bought some butter", 'b’) 4 >>> print(count_token ("betty botter bought some butter", 't') 7arrow_forwardthe following 12. (Greatest Common Divisor) Given two integers x and recursive definition determines the greatest common divisor of x and y, written gcd(x,y): Y, if y = 0 gcd(x, y) = %3D gcd(y, x%y) if yチ0 Note: In this definition, % is the mod operator. write a recursive function, gcd, that takes as parameters two integers and returns the greatest common divisor of the numbers. Also, write a pro- gram to test your function.arrow_forward(python) 9. Create a function based on the following information: You are given two strings with words separated by commas. Try to find what is common between these strings. The words in the same string don't repeat. Your function should find all of the words that appear in both strings. The result must be represented as a string of words separated by commas in alphabetic order. Input: Two arguments as strings. Output: The common words as a string. Return: Nothing is returnedarrow_forward
- Hi please Solve in c language. (Wattan Corporation) is an Internet service provider that charges customers a flat rate of $7.99 for up to 10 hours of connection time. Additional hours or partial hours are charged at $1.99 each.Write a function charges that computes the total charge for a customer based on the number of hours of connection time used in a month. The function should also calculate the average cost per hour of the time used (rounded to the nearest 0.01), so use two output parameters to send back these results.You should write a second functionround_money that takes a real number as an input argument and returns as the function value the number rounded to two decimal places. Write a main function that takes data from an input file usage.txt and produces an output file charges.txt. The data file format is as follows:Line 1: current month and year as two integersOther lines: customer number (a five-digit number) and number of hours usedHere is a sample data file and the…arrow_forwardProblem 1 (Ransom Note Problem) in python A kidnapper kidnaps you and writes a ransom note. He does not write it by hand to avoid having his hand writing being recognized, so he uses a magazine to create a ransom note. We need to find out, given the ransom string and magazine string, is it possible to create a given ransom note. The kidnapper can use individual characters of words. Here is how your program should work to simulate the ransom problem: your program should prompt the user to enter a long String to represent the magazine and another short String to represent the required ransom note. your program needs to check if the magazine string contains all required characters in equal or greater number present in the ransom note. your program should print true if it is possible to create the given ransom note from the given magazine, and print false otherwise. Break up your code into a set of well-defined functions. Each function should include a comment block that briefly describes…arrow_forwardProblem 6 (TOP 3) Write a function called top3(d) that takes a dictionary as its single input parameter. The input dictionary will always have integers for its values. The function will find the three largest values in the dictionary and return a list of value-key pairs (as a list) for these three values. The output of the returned list will be in decreasing order of values iterate through the list finding the three greatest integers in the dictionary and then print them out (along with their keys). {'a': 100, 'b': 400, 'с':300, 'd': 50ө, 'е':250'} top3(d) >>> d %3D >>> big3 >>> print (big3) [ [500, 'd'], [400, 'b'], [300, 'с'] ] %3D Page 4 of 5 You can assume that (1) the dictionary has at LEAST three key:value pairs and that (2) the values in the dictionary are UNIQUE. Note: the output has a value-key ordering instead of key-value ordering.arrow_forward
- Q2) Write down a C/C++ function that increases the salary of the given employee ID by 20 percent. Multiply the salary with 1.2 to give the increase. Linear search algorithm can be used to find the given ID. struct employee{ int ID; char class; int salary; }a [100]; prototype: lovee (struct employee a [], int size, int searchID);arrow_forwardProblem 2 General Statement: Read a string and determine whether each left parenthesis ‘(‘ has a matching right parenthesis ‘)’. Input: The first line of the data set for this problem is an integer that represents the number of strings that follow. Each string is on a separate line. Output: Output either MATCH or NO MATCH. All letters are upper case. The output is to be formatted exactly like that for the sample output given below. Assumptions: All letters are upper case. ( and ) are the only enclosure symbols in the string. Discussion: The left parenthesis must come before the right parenthesis in order to count as a matched set of parentheses. Sample Input: 3(3 + (7 * 2) – 6) HELLO AND (WELCOME (TO THE) TCEA (CONTEST) TODAY) IS ((SATURDAY()) Sample Output: MATCHNO MATCH NO MATCHarrow_forwardTask - Encode a string (C Language) Modify Project #2, Task #1 (given below) so that input characters are command line arguments. Requirements Name your program project5_encode.c. Input characters are command line arguments. There can be any number of command line arguments. Assume the total number of input characters is no more than 1000. Character handling library functions in ctype.h are allowed. The program should include the following function: void encode(char *input, char *output); The function expects input to point to a string containing the string to be encoded, output to point to a string containing the result. The program should also check if the number of arguments on the command line is greater than or equal to 2. If the number of arguments is 1, the program should display the message "Invalid input!". Examples (your program must follow this format precisely) Example #1 $ ./a.out 7 + 8Output: 3_4 Example #2 $ ./a.out usf.eduOutput: ayl_kja Example #3 $…arrow_forward
- ( C PROGRAM ONLY) 1: Passing structure to function Create a c program that will ask the user to input student details using structure. Create a function to display the student details (passing struct as argument). Input 1. name Constraints accept string until \n is encountered 2. age Constraints The input must be an integer value Output Enter student name: Juan deal CruzEnter age 18 Displaying Information:Name: Juan deal CruzAge: 18arrow_forward1.Objective Write and debug a program to deepen the understanding of function prototype, definition and call. 2.Content (Parking Charges) A parking garage charges a $2.00 minimum fee to park for up to three hours and an additional $0.50 per hour over three hours. The maximum charge for any given 24-hour period is $10.00. Assume that no car parks for longer than 24 hours at a time. Write a program that will calculate and print the parking charges for each of three customers who parked their cars in this garage yesterday. You should enter the hours parked for each customer. Your program should print the results in a tabular format, and should calculate and print the total of yesterday's receipts. The program should use the function calculateCharges to determine the charge for each customer. Your outputs should appear in the following format: 3.Flowchart of the Algorithm 4.Codes 5.Tests and Results 6.Summary //…arrow_forward#17a Simple Statistics (not in textbook) Generate a STL array or vector of 1000 floating point numbers in the range 0 to 1. Compute the mean, median, and standard deviation of these. You may use function objects and lambda expressions, and the STL algorithms for_each, accumulate, and sort. You may not use any of the built-in looping constructs while, do-while or for. Also you may not create and use any ordinary c++ functions. Hint: The following code can be used to populate your random array named arr auto arr_store = [](float& v) { v = rand()/float(RAND_MAX); }; for_each(arr.begin(),arr.end(),arr_store); Warning, You may need to know some details about lambda expressions that are not covered in the textbook. These will be covered in the weekly lecture and in a sample program in Sakai resources. Note: The theoretical value of the standard deviation for large N is sqrt(1.0/12) which about 0.289. You should be getting a value fairly close to this.arrow_forward
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education