In this exercise, you will write some code that reads n unique (no duplicates!)
ID: 3572422 • Letter: I
Question
In this exercise, you will write some code that reads n unique (no duplicates!) non-negative integers, each one less than fifty (50). Your code will print them in sorted order without using any nested loops -- potentially very efficient! We'll walk you through this: First, assume you are given an int variable, n, that contains the number of integers to read from standard input. Also assume you are given an array, named wasReadIn, of fifty (50) bool elements and initialize all the elements to false. Third, read in the n integers from the input, and each time you read an integer, use it as an index into the bool array, and assign that element to be true -- thus "marketing" in the array which numbers have been read. Lastly the "punchline": write a loop that traverses the bool every time it finds an element that is true it prints out the element's INDEX -- which was one of the integers read in. Place all the numbers on a single line, a separated by a single space.Explanation / Answer
#include <iostream>
using namespace std;
int main() {
int n,i,t;
cout << "Enter number of elements to read:";
cin >> n;
bool wasReadIn[50]={false};
cout << "Enter elements:";
for(i=0;i<n;i++){
cin >> t;
if(t<50)
wasReadIn[t] = true;
}
cout << "Element in sorted order:";
for(i=0;i<50;i++){
if(wasReadIn[i]){
cout << i << " ";
}
}
}
/*
sample output
Enter number of elements to read: 5
Enter elements: 5
4
3
2
1
Element in sorted order:1 2 3 4 5
*/
Related Questions
Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.