12.12. Multiple Choice ExercisesΒΆ
Select all of the true statements.
What is the correct way to declare a vector of vectors of ints called vec?
What is the value of card?
struct card {
int m_suit, m_rank;
card ();
card (int s, int r);
};
card::card () {
m_suit = 0; m_rank = 0;
}
card::card (int s, int r) {
m_suit = s; m_rank = r;
}
int main() {
card card (2, 8);
}
There is an error with the code below. Can you find it?
struct card {
int m_suit, m_rank;
card ();
card (int s, int r);
void print () const;
};
int main() {
card card (1,3);
print (card);
}
What is the output of the code below?
struct card {
int m_suit, m_rank;
card ();
card (int s, int r);
void print () const;
bool is_greater (const card& c2) const;
};
int main() {
card card1 (2,12);
card card2 (2,2);
cout << card1.is_greater (card2) << '\n';
}
What is the output of the code below?
struct card {
int m_suit, m_rank;
card ();
card (int s, int r);
void print () const;
bool is_greater (const card& c2) const;
};
vector<card> build_deck();
bool equals (const card& c1, const card& c2){
return (c1.m_rank == c2.m_rank && c1.m_suit == c2.m_suit);
}
void print_deck(const vector<card>& deck);
int find (const card& card, const vector<card>& deck);
int main() {
vector<card> deck = build_deck();
card card (3, 13);
cout << find(card, deck);
}
What is true about deck?
struct card {
int m_suit, m_rank;
card ();
card (int s, int r);
void print () const;
bool is_greater (const card& c2) const;
};
vector<card> create_deck() {
vector<card> deck (12);
int i = 0;
for (int m_suit = 0; m_suit <= 3; m_suit++) {
for (int m_rank = 1; m_rank < 4; m_rank++) {
deck[i].m_suit = m_suit;
deck[i].m_rank = m_rank;
i++;
}
}
return deck;
}
int main() {
vector<card> deck = create_deck();
}
How many times does find_bisect need to call itself in order to find the King of Diamonds?
struct card {
int m_suit, m_rank;
card ();
card (int s, int r);
void print () const;
bool is_greater (const card& c2) const;
};
vector<card> build_deck();
bool equals (const card& c1, const card& c2);
void print_deck(const vector<card>& deck);
int find (const card& card, const vector<card>& deck);
int find_bisect (const card& card, const vector<card>& deck, int low, int high);
int main() {
vector<card> deck = build_deck();
card card (1, 13);
cout << find_bisect(card, deck, 0, 51);
}
We want to write the function find_all_queens, which searches through a deck and
prints out the location of all 4 queens in the deck. What should go in the blanks?
struct card {
int m_suit, m_rank;
card ();
card (int s, int r);
void print () const;
bool is_greater (const card& c2) const;
};
vector<card> build_deck();
bool equals (const card& c1, const card& c2);
void print_deck(const vector<card>& deck);
void find_all_queens (const vector<card>& deck) {
for (size_t i = 0; i < deck.____; ++i) {
if (deck[i].____ == 12) {
cout << ____ << ' ';
}
}
}
int main() {
vector<card> deck = build_deck();
find_all_queens (deck);
}
What is the process of modeling a complex system with a simplified description in order to suppress unnecessary details while capturing relevant behavior?