Find Jobs
Hire Freelancers

C PROGRAMMING

$30-250 USD

Awarded
Posted about 11 years ago

$30-250 USD

Paid on delivery
Use a 2D array to read your puzzle from a file. Naturally, every line should be a string, each string being a size-N char array. Assume that, the puzzle cannot exceed 40x40 and assume that the puzzle is always a square. Completely ignore the spaces of any sort. Only pick out the letters from 'A' to 'Z'. Ignore the case of the letter. Turn every letter into its upper-case equivalent. So, your puzzle string will look like this: #define MAXROWS 40 #define MAXCOLS 40 char puzzle[MAXROWS][MAXCOLS] I won't tell you how to define the words array. It is almost the identical idea. Implement this puzzle search only for the most natural "E" orientation (i.e., words go from left to right and there are no diagonals). PART B (4 points): Submit as puzzle2.c using Blackboard Now, improve your program to search for all possible orientations: N, E, W, S, NE, NW, SE, SW. PART C (1 point + 1 bonus): Submit as puzzlemake.c using Blackboard Write a program that creates [login to view URL] and words.txt. For this, your puzzlemake.c program should ask the user for two parameters and all of the words: PuzzleRows PuzzleCols Words, one by one Follow these steps to achieve this: • First, create the [login to view URL] file. This is a matter of making a file that contains the words the user just entered ... • Next, Create a string with so many rows and columns. This 2D array will be identical to the one you are using to read your string in your PART A. • Fill each individual character with randomized characters ... Do not exceed the 'A' ... 'Z' range, since otherwise it will be invalid characters. To create a random value ranging between 'A' and 'Z', use the C function rand(). This function is contained in the standard C library. I won't tell you where. You have to do this much research to get the bonus points !!! • Next, pick a random orientation, one of the ones in the list above, and implant every word one by one into your 2D puzzle array. • Write that array as [login to view URL] into the file. This is basically what you will use to test your program with more sophisticated puzzles in PART A, and PART B. Note : You cannot advance to PART D without completing PART A, B and C. Notice that, you do not need to complete PART C to be able to finish PART A and PART B, since you can simply use the [login to view URL] and words. txt I provided. PART D (BONUS - 2 points): Submit as puzzle3.c using Blackboard Now, improve your program so that, it has NO LIMITATION ON THE PUZZLE SIZE and also the PUZZLE CAN BE A RECTANGLE. Call your puzzle size PuzzleRows x PuzzleCols. You have to allocate the memory for the puzzle using malloc() to qualify for the bonus in this question. If you forget to free() the memory you allocated, you will lose bonus points, since your program will be a memory-leaky program. You will read the file [login to view URL] and figure out the puzzle size dynamically, and do the puzzle search in every orientation. Notice that, to qualify for the bonus in PART D, you have to submit PART A (puzzle1.c) and PART B (puzzle2.c) and PART C (puzzlemake.c) separately first. This submission on PART D (puzzle3.c) is a completely separate program. No need to say, to qualify for the bonus PART D points, you have to write a NO-LIMITATION version of your puzzlemake.c. You can write only this version if you are going for PART D bonus points.
Project ID: 4403986

About the project

1 proposal
Remote project
Active 11 yrs ago

Looking to make some money?

Benefits of bidding on Freelancer

Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs
1 freelancer is bidding on average $40 USD for this job
User Avatar
Hi, I would like to do this project please. Let me know if you are interested. Thanks.
$40 USD in 0 day
4.9 (31 reviews)
4.4
4.4

About the client

Flag of UNITED STATES
Rochester, United States
5.0
1
Payment method verified
Member since Dec 22, 2011

Client Verification

Thanks! We’ve emailed you a link to claim your free credit.
Something went wrong while sending your email. Please try again.
Registered Users Total Jobs Posted
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Loading preview
Permission granted for Geolocation.
Your login session has expired and you have been logged out. Please log in again.