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
Zina [86]
3 years ago
6

Your team will write a function that reverses a C-string, to practice using pointers. You must use pointers and C-strings for th

is lab, not string objects. Your program should ask for the user's input, as "Enter the original string: " Then, it should print out the reversed string to the console.

Computers and Technology
1 answer:
Nutka1998 [239]3 years ago
3 0

Answer:

Here is the C++ program:

#include <iostream> //to use input output functions

#include<string.h> // to manipulate strings

using namespace std; //to identify objects like cin cout

void ReverseString(char* original_str){ // function that reverses a C-string

       char* ptr1 = original_str;  // pointer that points to the start of C-string

       char* ptr2 = original_str; // pointer that points to the start of C-string initially

       for (int i = 0; i < strlen(original_str)- 1; i++) {//iterates through the length of the C-string

           ptr2++;} //moves ptr2 to the end of the C-string

       while(ptr1 < ptr2) {// swaps each character of C-string using pointers

               char temp = *ptr1; //declares a temp variable to hold character that *ptr1 points to

               *ptr1 = *ptr2;

               *ptr2 = temp;

               ptr1++; //increments ptr1 moving it forward

               ptr2--;   }} //decrements ptr2 moving it backwards

int main(){ //start of main() function

       char input_str[]="";  /// declare a C-string

       cout<<"Enter original string: "; //prompts user to enter a string

       cin>>input_str; // reads that C-string from user

       ReverseString(input_str); //calls function to revserse the input string

       cout<<"\nReversed string: "<<input_str;} // displays the reversed string

Explanation:

The program has a function ReverseString that takes a C-style string as parameter and reverses the string using pointers.

The ptr1 and ptr2 are pointers that initially point to the beginning of original string.

for (int i = 0; i < strlen(original_str)- 1; i++) this statement has a for loop that iterates through the original string and moves the ptr2 to point at the end or last character of the C-string. strlen() method is used to get the length of the C-string. At each iteration ptr2 moves one time forward until the last character of the C-string is reached.

while(ptr1 < ptr2) statement has a while loop that works as follows:

checks if ptr1 is less than ptr2. This evaluate to true because the index of first character that ptr1 points to is 0 and last character is 5 so 0<5. Hence the statements inside while loop execute which swaps the character of C-string from beginning and end index using ptr1 and ptr2. a temp variable is declated to hold character that *ptr1 points to.

For example

original_string = "xyz" Then temp = *ptr1; stores the character that *ptr1 points to i.e. 'x'

*ptr1 = *ptr2; This statement assigns the character that *ptr2 points to the *ptr1. Basically these pointers are used as indices to the C-string. So this means that the *ptr1 now stores the last character of the C-string that is pointed to by *ptr2. So *ptr1 = 'z'

*ptr2 = temp; This statement assigns the character that temp stores to the *ptr2. We know that temp contains the first character i.e 'x'. So *ptr2 = 'x'      

ptr1++; The ptr1 is incremented to 1. This means it moves one position ahead and now points to the second character of the C-string.

ptr2--; The ptr2 is decremented to 1. This means it moves one position backwards and now points to the second character of the C-string.

Now the while loop breaks because ptr1 < ptr2 condition evaluates to false.

So the original string is reversed using pointers. Hence the output is:

zyx

screenshot of the program along with its output is attached.

You might be interested in
Consider two different implementations, M1 and M2, of the same instruction set. There are three classes of instructions (A, B, a
ANTONII [103]

Answer:

a) the average CPI for machine M1 = 1.6

the average CPI for machine M2 = 2.5

b) M1 implementation is faster.

c) the clock cycles required for both processors.52.6*10^6.

Explanation:

(a)

The average CPI for M1 = 0.6 x 1 + 0.3 x 2 + 0.1 x 4

= 1.6

The average CPI for M2 = 0.6 x 2 + 0.3 x 3 + 0.1 x 4

= 2.5

(b)

The average MIPS rate is calculated as: Clock Rate/ averageCPI x 10^6

Given 80MHz = 80 * 10^6

The average MIPS ratings for M1 = 80 x 10^6  / 1.6 x 10^6

= 50

Given 100MHz = 100 * 10^6

The average MIPS ratings for M2 = 100 x 10^6 / 2.5 x 10^6

= 40

c)

Machine M2 has a smaller MIPS rating

Changing instruction set A from 2 to 1

The CPI will be increased to 1.9 (1*.6+3*.3+4*.1)

and hence MIPS Rating will now be (100/1.9)*10^6 = 52.6*10^6.

7 0
3 years ago
One of the most common causes of fires in the home and workplace is: a. All of the answer choices b. Arson c. Candle d. Faulty e
solniwko [45]
Electricity is one of the most common causes of fire in homes and workplaces. Electrical accidents appear to be caused by a combination of two factors: 1. Unsafe equipment and/or installation; 2. Workplaces made unsafe by the environment

So the answer would be D)Faulty electricity
8 0
3 years ago
Which tab provides commands for the most commonly used elements in Word Software?
Flauer [41]
I think it should be in the design tab
6 0
3 years ago
Implementing multiple types of technology and thereby precluding that the failure of one system will compromise the security of
Setler79 [48]

Answer:

Redundancy

Explanation:

  • There are several redundant computer systems that can be applied to various operating systems and platforms.
  •  In any case, a server usually has redundant components, disks, network cards and power supplies.
  • The servers usually have two network cards with data redundancy, so in case of failure we will always have one of them available.
  • In conclusion, data redundancy is a fundamental system for the correct storage of the data available in the database.
5 0
3 years ago
Smartphones combine the features of which two types of devices?
tankabanditka [31]
Idunno if you got the answer to this question or if I'm too late, feel free to message me if I'm not!
6 0
3 years ago
Read 2 more answers
Other questions:
  • MATLAB graphics user interface:<br> Describe what Folder, Command Window and Workspace are.
    5·1 answer
  • ​a(n) ____ is a communications device that connects a communications channel such as the internet to a device such as a computer
    11·1 answer
  • Who is the last person appointed to the u.s supreme court
    11·1 answer
  • What is the value of length after the code that follows is executed?int[][] nums = { new int [] {1, 2, 3},new int [] {3, 4, 5, 6
    8·1 answer
  • Write a function, sublist, that takes in a list of numbers as the parameter. In the function, use a while loop to return a subli
    13·1 answer
  • Where in an email would u find information about the action requirements​
    9·1 answer
  • You want to use a terminal program to terminal into a cisco router. what protocol should i use
    8·1 answer
  • Kylee needs to ensure that if a particular client sends her an email while she is on vacation, the email is forwarded to a cowor
    7·1 answer
  • Add me on Fortn!te <br> TsarBacon (imma girl)
    11·1 answer
  • A software copyright?​
    14·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!