Home Upgrade Search Memberlist Extras Hacker Tools Award Goals Help Wiki Contact

C 

Looking for C challenges

Looking for C programming challenges

Hopefully they have a git if I get lost and a walk through

Thanks in advance. I know basic C just want to practice
I'll send you a couple for first semester Uni students, don't have solutions for them but you can always PM me if you need help (let me know if they're too easy so I can send harder ones).

a. Program a queue for integer numbers in form of a linked list. It should provide functions to add an alement to the queue and to remove / return one from the end. Use references so that you make changes to the list from your main() function inside of your functions.

b. Expand your program by replacing your linked list by a doubly linked list. In such a list every elemnt has an additional pointer to the previous element. The list itself contains a pointer to the last element. It should provide functions to add and remove elements to/from the front and the back.

You can do those first, I'll see if I can find any others lmao
(Jun 4, 2020 12:26 AM)4Txe4y33C9zvNhMj Wrote:  I'll send you a couple for first semester Uni students, don't have solutions for them but you can always PM me if you need help (let me know if they're too easy so I can send harder ones).

a. Program a queue for integer numbers in form of a linked list. It should provide functions to add an alement to the queue and to remove / return one from the end. Use references so that you make changes to the list from your main() function inside of your functions.

b. Expand your program by replacing your linked list by a doubly linked list. In such a list every elemnt has an additional pointer to the previous element. The list itself contains a pointer to the last element. It should provide functions to add and remove elements to/from the front and the back.

You can do those first, I'll see if I can find any others lmao

What university is this?
(Jun 4, 2020 12:26 AM)4Txe4y33C9zvNhMj Wrote:  I'll send you a couple for first semester Uni students, don't have solutions for them but you can always PM me if you need help (let me know if they're too easy so I can send harder ones).

a. Program a queue for integer numbers in form of a linked list. It should provide functions to add an alement to the queue and to remove / return one from the end. Use references so that you make changes to the list from your main() function inside of your functions.

b. Expand your program by replacing your linked list by a doubly linked list. In such a list every elemnt has an additional pointer to the previous element. The list itself contains a pointer to the last element. It should provide functions to add and remove elements to/from the front and the back.

You can do those first, I'll see if I can find any others lmao
This is harder than the Posix shit I'm doing :/
(Jun 4, 2020 02:49 PM)I Am Kira Wrote:  What university is this?

That was a question for first-semester computer science students at the University of Heidelberg, Germany.
If you haven't tackled linked lists already, it's a fun place to start. For bonus points make it thread safe with proper mutex/thread locks usage.
SRPP Discord Server

I am a professional network/cloud security architect.
My Old Tutorials
(Jun 5, 2020 12:59 AM)4Txe4y33C9zvNhMj Wrote:  That was a question for first-semester computer science students at the University of Heidelberg, Germany.

Interesting, was it sourced locally to you or did you obtain it externally?
Where is the code challenge s questions🙄 ??
(Jun 15, 2020 11:32 PM)I Am Kira Wrote:  Interesting, was it sourced locally to you or did you obtain it externally?

A friend of mine teaches there so he was kind and gave me his slides and assignments :)
(Jun 4, 2020 12:26 AM)4Txe4y33C9zvNhMj Wrote:  I'll send you a couple for first semester Uni students, don't have solutions for them but you can always PM me if you need help (let me know if they're too easy so I can send harder ones).

a. Program a queue for integer numbers in form of a linked list. It should provide functions to add an alement to the queue and to remove / return one from the end. Use references so that you make changes to the list from your main() function inside of your functions.

b. Expand your program by replacing your linked list by a doubly linked list. In such a list every elemnt has an additional pointer to the previous element. The list itself contains a pointer to the last element. It should provide functions to add and remove elements to/from the front and the back.

You can do those first, I'll see if I can find any others lmao

This is basically what the Queues in FreeRTOS are lol
Hey!
You forgot to mention what other projects you've made so it's hard to tell how experienced you are.
But I'll go through my recommendations from basic to more experienced so you can read it through and try it out.

1. Make a basic bank system which choices for deposit, withdraw, check balance, earning interests based on date.
2. Make a dice/yatzee game.
3. Re-create the game snake.
4. Make a physical keylogger for your own computer
5. Make some basic cheats for singleplayer games.

I'm not very good myself but I know those are the things I did when I started out and got me going.
Remember that giving up and doing another project doesn't help you get anywhere.
Everything you want to be learn gotta be done.

Good luck! 🐱‍👤
I read some C-courses this semester. I think all the resources are currently freely available at: http://cs.lth.se/edaa25/ and http://cs.lth.se/edaf15/. These are intro courses for C, so these should be pretty fine. If a resource is in Swedish, you can send me a message and I'll translate it to you. I can also provide you with example source code for the solutions.
Try to write a virtual keyboard in c!!
or moving mouse or ... some thing like that
(Jun 29, 2020 10:55 AM)Cbyte Wrote:  Hey!
You forgot to mention what other projects you've made so it's hard to tell how experienced you are.
But I'll go through my recommendations from basic to more experienced so you can read it through and try it out.

1. Make a basic bank system which choices for deposit, withdraw, check balance, earning interests based on date.
2. Make a dice/yatzee game.
3. Re-create the game snake.
4. Make a physical keylogger for your own computer
5. Make some basic cheats for singleplayer games.

I'm not very good myself but I know those are the things I did when I started out and got me going.
Remember that giving up and doing another project doesn't help you get anywhere.
Everything you want to be learn gotta be done.

Good luck! 🐱‍👤
I could probably do 1/4 and with isn't 5 more of memory corruption.
Experience wise I've started about a month and a bit ago so far books I've done are C a Software engineers guide then posix standard then art of exploitation and right now I'm learning ASM with Donald Enufss taocp.
I'm trying to get started with contributing to open source projects but no clue where to start.

also taocp is incredibly tough like just the maths side of it is brutal. I'm trying to do a section a day so now I'm on 1.3.3 which was usages of permutations and when he started talking about time he lost me. The book does fundamentals then he expects you to be able to be good as hell :/ anyways


Possibly Related Threads...
Thread / Author Replies Views Last Post
by killakally3Sep 26, 2023 07:25 AM 2 166 Sep 26, 2023 07:25 AM
Last Post: ILovePizza
[Python] by magicpartySep 20, 2019 05:26 PM 2 246 Sep 20, 2019 05:26 PM
Last Post: null_byte
[Java] by jabrils123May 27, 2019 05:44 PM 0 153 May 27, 2019 05:44 PM
Last Post: jabrils123