Bird
Raised Fist0
C++programming~5 mins

Multiple input and output in C++ - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Multiple input and output
O(n + m)
Understanding Time Complexity

When a program takes several inputs and produces multiple outputs, it is important to see how the time it takes grows as these inputs get bigger.

We want to know how the total work changes when we have more inputs to handle.

Scenario Under Consideration

Analyze the time complexity of the following code snippet.


#include <iostream>
using namespace std;

void process(int n, int m) {
    for (int i = 0; i < n; i++) {
        cout << i << " ";
    }
    cout << endl;
    for (int j = 0; j < m; j++) {
        cout << j*j << " ";
    }
    cout << endl;
}

int main() {
    process(5, 3);
    return 0;
}
    

This code prints numbers from 0 to n-1, then prints squares of numbers from 0 to m-1.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: Two separate loops printing values.
  • How many times: First loop runs n times, second loop runs m times.
How Execution Grows With Input

Each loop runs independently, so total work is the sum of both.

Input Size (n, m)Approx. Operations
10, 515
100, 50150
1000, 5001500

Pattern observation: The total steps grow roughly as the sum of n and m.

Final Time Complexity

Time Complexity: O(n + m)

This means the time grows in a straight line with the size of both inputs added together.

Common Mistake

[X] Wrong: "The time complexity is O(n * m) because there are two loops."

[OK] Correct: The loops run one after another, not inside each other, so their times add up, not multiply.

Interview Connect

Understanding how multiple inputs affect time helps you explain your code clearly and shows you can think about efficiency in real situations.

Self-Check

"What if the second loop was placed inside the first loop? How would the time complexity change?"

Practice

(1/5)
1.

Which of the following statements correctly reads two integers a and b from the user in C++?

easy
A. std::cout >> a >> b;
B. std::cin << a << b;
C. std::cout << a << b;
D. std::cin >> a >> b;

Solution

  1. Step 1: Understand input operator usage

    In C++, std::cin is used for input and the extraction operator >> reads values.
  2. Step 2: Identify correct syntax for multiple inputs

    Using std::cin >> a >> b; reads two integers from the user correctly.
  3. Final Answer:

    std::cin >> a >> b; -> Option D
  4. Quick Check:

    Input uses std::cin with >> operator [OK]
Hint: Use std::cin with >> to read multiple inputs [OK]
Common Mistakes:
  • Using << instead of >> for input
  • Using std::cout for input
  • Mixing input and output operators
2.

Which of the following lines correctly prints three variables x, y, and z separated by spaces in C++?

easy
A. std::cout << x << ' ' << y << ' ' << z;
B. std::cout << x, y, z;
C. std::cout >> x >> y >> z;
D. std::cin << x << y << z;

Solution

  1. Step 1: Understand output operator usage

    In C++, std::cout is used for output and the insertion operator << prints values.
  2. Step 2: Print multiple variables with spaces

    Using std::cout << x << ' ' << y << ' ' << z; prints variables separated by spaces correctly.
  3. Final Answer:

    std::cout << x << ' ' << y << ' ' << z; -> Option A
  4. Quick Check:

    Output uses std::cout with << and spaces [OK]
Hint: Use std::cout with << and spaces to print multiple values [OK]
Common Mistakes:
  • Using commas instead of << for output
  • Using >> operator for output
  • Using std::cin for output
3.

What is the output of the following C++ code if the user inputs 5 10?

int a, b;
std::cin >> a >> b;
std::cout << a + b << ' ' << a * b << std::endl;
medium
A. 15 50
B. 510
C. 5 10
D. Syntax Error

Solution

  1. Step 1: Read input values

    The code reads two integers: a = 5 and b = 10 from user input.
  2. Step 2: Calculate and print sum and product

    The output prints a + b = 15 and a * b = 50 separated by a space.
  3. Final Answer:

    15 50 -> Option A
  4. Quick Check:

    Sum and product printed with space [OK]
Hint: Add and multiply inputs, print with space [OK]
Common Mistakes:
  • Concatenating numbers as strings
  • Forgetting space between outputs
  • Confusing input and output operators
4.

Identify the error in the following C++ code snippet:

int x, y;
std::cin << x << y;
std::cout << x << y;
medium
A. Missing semicolon after std::cin
B. >> used instead of << for output
C. << used instead of >> for input
D. Variables x and y not declared

Solution

  1. Step 1: Check input operator usage

    Input uses std::cin with extraction operator >>, but code uses << which is wrong.
  2. Step 2: Check output operator usage

    The code correctly uses std::cout with insertion operator <<.
  3. Final Answer:

    << used instead of >> for input -> Option C
  4. Quick Check:

    Input needs >> operator, not << [OK]
Hint: Input uses >>, output uses << operators [OK]
Common Mistakes:
  • Swapping << and >> operators
  • Confusing std::cin and std::cout
  • Ignoring operator direction
5.

Given the following code, what will be the output if the user inputs 3 4 5?

int a, b, c;
std::cin >> a >> b >> c;
std::cout << a + b << ' ' << b + c << ' ' << a + c << std::endl;
medium
A. Runtime Error
B. 7 9 8
C. 3 4 5
D. 12 9 7

Solution

  1. Step 1: Read three integers from input

    The variables are assigned as a=3, b=4, c=5 from user input.
  2. Step 2: Calculate sums and print

    Prints a + b = 7, b + c = 9, and a + c = 8 separated by spaces.
  3. Final Answer:

    7 9 8 -> Option B
  4. Quick Check:

    Sum pairs printed correctly [OK]
Hint: Add pairs of inputs and print with spaces [OK]
Common Mistakes:
  • Adding all three instead of pairs
  • Mixing input order
  • Forgetting spaces between outputs
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard