A common memory matching game played by young children is to start with a deck of cards that contains identical pairs. For example, given six cards in the deck, two might be labeled “1,” two might be labeled “2,” and two might be labeled “3.” The cards are shuffled and placed face down on the table. The player then selects two cards that are face down, turns them face up, and if they match they are left face up. If the two cards do not match, they are returned to their original position face down. The game continues in this fashion until all cards are face up. Write a program that plays the memory matching game. Use 16 cards that are laid out in a 4 × 4 square and are labeled with pairs of numbers from 1 to 8. Your program should allow the player to specify the cards that she would like to select through a coordinate system. For example, suppose the cards are in the following layout:
All of the cards are face down except for the pair 8, which has been located at coordinates (1, 1) and (2, 3). To hide the cards that have been temporarily placed face up, output a large number of newlines to force the old board off the screen.
(Hint: Use a two-dimensional array for the arrangement of cards and another two-dimensional array that indicates if a card is face up or face down. Write a function that “shuffles” the cards in the array by repeatedly selecting two cards at random and swapping them. Random number generation is described in Chapter 4.)
Want to see the full answer?
Check out a sample textbook solutionChapter 7 Solutions
Problem Solving with C++, Student Value Edition Plus MyLab Programming with Pearson eText - Access Card Package (10th Edition)
Additional Engineering Textbook Solutions
Concepts of Programming Languages (11th Edition)
C Programming Language
Starting Out with Java: From Control Structures through Data Structures (4th Edition) (What's New in Computer Science)
Modern Database Management
C++ How to Program (10th Edition)
Web Development and Design Foundations with HTML5 (9th Edition) (What's New in Computer Science)
- Write a program to place ten queens on 10 x 10 chessboard in such a way that one queen is to bein each row. A program will use 2 DIMENIONAL array x[r][c] to do this configuration. If x[r] hasvalue c, then in row r there is a queen in column c. Write a program that asks a user to enter thecolumns that contain queens in the ten rows. The program then places the queens in thesecolumns (one per row) and prints the board.arrow_forwardWrite a Java program to implement the following: Ask the user to enter the names of 3 Books and store them in an ArrayList called Book Remove the second book from the list Add the user to enter a new book name and store to be the first book of the list Ask the user to enter a book name, search for it in list, and print “exist” or “not exist” Print the book name at index 2 Print all list items using loop Print the size of the listarrow_forwardWrite a Java program to implement sequential search. Create a String array in main method and initialize it with 5 different names. Now take any name from the user, find whether that name is present in that array or not, and print the position of that name in the array if found. Write a search method to sequentially search the name from the array. Invoke the search method from the main method. The array and the name to be searched should be passed into the search method as parameters. Sample input & output:[Let’s assume that the 5 names are Diana, Becker, Ann, Eve, and Cory]Enter the name: CoryThe name is found at 5th position.Enter the name: Donald The name is not found.Now write a Java program to implement binary search for the above problem. [Hint: You can use equals() and compareTo() methods of String class.]arrow_forward
- In java: Write a program using a Scanner that asks the user for a number n between 1 and 9 (inclusive). The program prints a triangle with 2n - 1 rows. The first row contains only the square of 1, and it is right-justified. The second row contains the square of 2 followed by the square of 1, and is right justified. Subsequent rows include the squares of 3, 2, and 1, and then 4, 3, 2 and 1, and so forth until n rows are printed. Starting at row n + 1, the squares between (n - 1) to 1 are printed, again right justified. Row n + 2 prints the squares between (n -2) to 1. Notes Your solution should NOT use the conditionaloperator Your solution should NOT use tabs Your solutions SHOULD have at least one nested looparrow_forwardIn JavaScript use recursion to find the sum of all pages in the following: function getPageTotal(list) {// your code here// returns an integer}Example test case:Input: {"book":"A","pages":50,"next":{"book":"B","pages":25,"next": null}}Output: 75Reasoning: 50 + 25 pagesarrow_forwardWrite a Java code # Resistor ColorResistors have color coded bands, where each color maps to a number. The first 2 bands of a resistor have a simple encoding scheme: each color maps to a single number.These colors are encoded as follows:- Black: 0- Brown: 1- Red: 2- Orange: 3- Yellow: 4- Green: 5- Blue: 6- Violet: 7- Grey: 8- White: 9Mnemonics map the colors to the numbers, that, when stored as an array, happen to map to their index in thearray: Better Be Right Or Your Great Big Values Go Wrong.More information on the color encoding of resistors can be found in the [Electronic color code Wikipedia article]# Running the testsYou can run all the tests for an exercise by entering $ gradle test in your terminal.## SourceMaud de Vries, Erik Schierboom [https://github.com/exercism/problem-specifications/issues/1458] Consider the structure that the code must have; it is given in the picturearrow_forward
- Implement in C Program 5.20 LAB: Word frequencies Write a program that reads a list of words. Then, the program outputs those words and their frequencies. The input begins with an integer indicating the number of words that follow. Assume that the list will always contain fewer than 20 words, and each word contains fewer than 10 characters. Ex: If the input is: 5 hey hi Mark hi mark the output is: hey - 1 hi - 2 Mark - 1 hi - 2 mark - 1 Hint: Use two arrays, one array for the strings and one array for the frequencies. #include <stdio.h>#include <string.h> int main(void) { /* Type your code here. */ return 0;}arrow_forwardimport java.util.Scanner; public class LabProgram { public static Roster getInput(){ /* Reads course title, creates a roster object with the input title. Note that */ /* the course title might have spaces as in "COP 3804" (i.e. use nextLine) */ /* reads input student information one by one, creates a student object */ /* with each input student and adds the student object to the roster object */ /* the input is formatted as in the sample input and is terminated with a "q" */ /* returns the created roster */ /* Type your code here */ } public static void main(String[] args) { Roster course = getInput(); course.display(); course.dislayScores(); }} public class Student { String id; int score; public Student(String id, int score) { /* Student Employee */ /* Type your code here */ } public String getID() { /* returns student's id */…arrow_forwardWrite a program that allows students to schedule appointments at either 1,2,3,4,5 as days of the week; 1 for Monday, 2 for Tuesday and so on. Use an array of five strings to store the names for the time slots. Write a loop that iterates as long as the array has a free space. Within a try block, allow the user to enter a day and a name. If the day is free, put the name in the array. If the day is not free, throw an Exception. If the day is not valid, throw another exception. Use catch block for each different kind of exception. Ex: Enter Day: 1Monday is available, enter Name: Tomas[Tomas, , , , ]Enter Day: 3Wednesday is available, enter Name: Sheldon[Tomas, ,Sheldon, , ]Enter Day: 3Wednesday is not available, choose other day: 2Tuesday is available, enter Name: Raj[Tomas,Raj,Sheldon, , ]Enter Day: 4Thursday is available, enter Name: Leonard[Tomas,Raj,Sheldon,Leonard, ]Enter Day: 0Invalid DayEnter Day: AInvalid DayEnter Day: 5Friday is available, enter Name:…arrow_forward
- Write a program that prints an mxn matrix whose dimensions are specified by the user. Let the matrix values be random variables. You must use it within the repetition cycle. Example format: Enter dimension of matrix mxn: 2 4 The 2x4 matrix is : 1 2 3 4 5 6 7 8arrow_forwardJava Program Scenario: A high school has 1000 students and 1000 lockers, one locker for each student. On the first day of school, the principal plays the following game: She asks the first student to open all the lockers. She then asks the second student to close all the even-numbered lockers. The third student is asked to check every third locker. If it is open, the student closes it; if it is closed, the student opens it. The fourth student is asked to check every fourth locker. If it is open, the student closes it; if it is closed, the student opens it. The remaining students continue this game. In general, the nth student checks every nth locker. If the locker is open, the student closes it; if it is closed, the student opens it. After all the students have taken their turns, some of the lockers are open and some are closed. Write a program that prompts the user to enter the number of lockers in a school. After the game is over, the program outputs the number of lockers and the…arrow_forwardWrite a program that reads a list of integers from input into an array and outputs "yes" if the list is sorted in ascending order between two provided positions. Otherwise, output "no". The first input specifies the number of items in the list. The next set of inputs is the list. The last two inputs are the start and end positions (inclusive). Assume the list contains less than 20 integers and position 1 is the first element. Ex: If the input is: 8 5 6 7 4 3 2 1 0 1 3 the output is: yes Ex: If the input is: 6 1 2 3 4 5 2 4 6 the output is: noarrow_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