feat: added project files
This commit is contained in:
parent
40786acfa7
commit
a102d36b1c
5
CMakeLists.txt
Normal file
5
CMakeLists.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
cmake_minimum_required(VERSION 3.5)
|
||||||
|
|
||||||
|
project(test LANGUAGES C)
|
||||||
|
|
||||||
|
add_executable(test main.c)
|
100
main.c
Normal file
100
main.c
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
int get_user_input(){
|
||||||
|
int x = -1;
|
||||||
|
int ok = -1;
|
||||||
|
while( ok != 1){
|
||||||
|
/* as array values will only be >0, unsigned int is fine */
|
||||||
|
ok = scanf("%u", &x);
|
||||||
|
if(ok == EOF){
|
||||||
|
printf("\ncaught Ctrl+D...\n");
|
||||||
|
ok = 1;
|
||||||
|
x = 2;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if(ok == 0){
|
||||||
|
while (fgetc(stdin) != '\n'){
|
||||||
|
}
|
||||||
|
printf("[*] give me a correct value\n");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return x;
|
||||||
|
}
|
||||||
|
|
||||||
|
int lemmego(){
|
||||||
|
printf("[*] you wished to go, quitting...\n");
|
||||||
|
return EXIT_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
void print_banner(){
|
||||||
|
printf("+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n"
|
||||||
|
"|u|l|t|i|m|a|t|e|_|a|r|r|a|y|_|h|a|n|d|l|e|r|\n"
|
||||||
|
"+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
void do_magic(uint arr_len){
|
||||||
|
printf("[i] arr_len = %u\n", arr_len);
|
||||||
|
int *noice_arr = malloc(arr_len*sizeof(int));
|
||||||
|
|
||||||
|
printf("noice_arr: [ ");
|
||||||
|
for (int i = 0; i < arr_len; i++){
|
||||||
|
noice_arr[i] = i;
|
||||||
|
printf("%d ", noice_arr[i]);
|
||||||
|
}
|
||||||
|
printf("]\n");
|
||||||
|
|
||||||
|
printf("[*] transposing array\n");
|
||||||
|
|
||||||
|
int *ugly_arr = malloc(arr_len*sizeof(int));
|
||||||
|
uint helper = arr_len-1;
|
||||||
|
printf("ugly_arr: [ ");
|
||||||
|
for (int i = 0; i < arr_len; i++, helper--){
|
||||||
|
ugly_arr[i] = noice_arr[helper];
|
||||||
|
printf("%d ", ugly_arr[i]);
|
||||||
|
}
|
||||||
|
printf("]\n");
|
||||||
|
|
||||||
|
free(noice_arr);
|
||||||
|
free(ugly_arr);
|
||||||
|
}
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
int selection, arr_len=0;
|
||||||
|
|
||||||
|
print_banner();
|
||||||
|
|
||||||
|
while ( selection != -1 ) {
|
||||||
|
printf("\npick a choice\n");
|
||||||
|
printf("9000 - do magic\n"
|
||||||
|
"1 - quit\n"
|
||||||
|
"~> ");
|
||||||
|
|
||||||
|
selection = get_user_input();
|
||||||
|
|
||||||
|
switch ( selection ) {
|
||||||
|
case 9000:
|
||||||
|
printf("[*] please gimme a natural number:\n"
|
||||||
|
"--> ");
|
||||||
|
arr_len = get_user_input();
|
||||||
|
if (arr_len == 0) {
|
||||||
|
printf("[!] array cannot have zero size, mate...\n");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
printf("[*] doing evil stuff\n");
|
||||||
|
do_magic(arr_len);
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
lemmego();
|
||||||
|
return 9000;
|
||||||
|
default:
|
||||||
|
printf("[x] invalid option\n");
|
||||||
|
selection = 0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
3
testin
Normal file
3
testin
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
9000
|
||||||
|
20
|
||||||
|
1
|
Reference in New Issue
Block a user