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_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
- (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_forwardHi 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_forwardQ2) 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_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_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
- Problem statementWrite a program that receives a value n and prints the expansion of the binomial (x + y) n. To do this, define the following auxiliary functions: - Define a function that calculates the binomial coefficient of two numbers. - Define a function that receives a character representing a variable and a positive integer value, n, and returns a string representing the variable raised to the power n. EntryA positive integer. Which will meet the following condition 1≤n≤25. DepartureA character string representing the expansion of the binomial (x + y) n. The string must be written in pythonic style. It should end with a line change. Examples Input Example 1 4Output Example 1 x ** 4 + 4 * x ** 3 * y + 6 * x ** 2 * y ** 2 + 4 * x * y ** 3 + y ** 4 Input Example 2 3Output Example 2 x ** 3 + 3 * x ** 2 * y + 3 * x * y ** 2 + y ** 3arrow_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_forwardC++ Programming. Topic: Working with pointers and dynamic memory. Indicators. Working with dynamic memory. Dynamic arrays and their use as function parameters. Task : Describe a void function named Swap(x,y) that swaps the values stored in the variables x and (x is a real type parameter and is both input and output). Using this function , for the given variables of real type a, b, c, d, one should sequentially replace the values of the pairs (a, b), (c, d) and (b, c) and let a, b, c, d be new values .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