计算机代写 SOFT3410 Tutorial 0 Exercises – cscodehelp代写
SOFT3410 Tutorial 0 Exercises
These are a set of problems to get started with before your first lab. Feel free to discuss these problems on Ed.
Question 1: Hello From C
WriteaHello, World!programinCthatoutputsthefollowing. int main() {
puts(“Hello, World!”);
}
Question 2: Reverse Array
Write a function that reverses an integer array,
I would encourage you write a reverse function that is in place. By this we mean that you do not copy the contents into another array and only use the array given.
1 If you have an array that is:
2 { 1, 2, 3, 4, 5, 6, 7, 8 }
3
4 the reverse:
5 { 8, 7, 6, 5, 4, 3, 2, 1 }
Question 3
Ordering from the centre Your friend has proposed a nasty question, they want you to rearrange an array so that the elements are ordered from the centre of the array. Given an array of [1, 2, 3, 4, 5],theywantthearraytoberearrangedto[5, 3, 1, 2, 4].
State your assumptions while developing a solution and discuss your approach with your tutor and peers.
1
**^^^ **^^^ **^^^ **^^^
SOFT3410 Exercises
Question 4: Tiles
You will need to compose a character image where segments of the image are tiles. A tile itself is composed of y rows of x length of a single character.
The maximum resolution of your image is 128 x 128 and can support up to 32 tiles. If a tile’s character changes, the image itself will be different. A tile can be used multiple times in an image.
Since it is possible for tiles to over-lap each other, you can assume a tile draw queue where the first draw will be beneath any subsequent draw.
Example of a 30×10 image with the following tile set, where each element is specified by (width, height, character).
(4, 4, @), used at (0, 0), (15, 2) (3, 2, #), used at (2, 1)
(2, 4, *), used at (14, 2)
1 ——————————
2
3
4
5
6 7 8
9 ——————————
If the first tile in the tile set, has their character changed to ˆ, we will see the following result.
1 ——————————
2 ^^^^
3 ^^###
4 ^^###
5 ^^^^
6 7 8
9 ——————————
Concurrency
Page 2 of 3
Question 5: Linked List
Implement a singularly linked list in C, the last element of the list must point to NULL to indicate the end of the list and a condition to stop when traversing. You can use the following definition to get started.
struct linkedlist_node {
struct linkedlist_node* next;
int element.
};
struct linkedlist {
struct linkedlist_node* head;
size_t size;
};
void list_add(struct linkedlist* l, int element); void list_remove(struct linkedlist* l, size_t index); void list_destroy(struct linkedlist* l);
int list_get(struct linkedlist* l, size_t index);
SOFT3410 Exercises
Concurrency
Page 3 of 3