AOC_2022/4/tuer4.c

56 lines
1.8 KiB
C
Raw Normal View History

#include <stdio.h>
int numarr_to_int(char numarr[2], int tpos) {
//printf("- D: %i; %i -\n", numarr[0]-'0', numarr[1]-'0'); //DEBUG
if(tpos==0) { return (numarr[1] - '0'); }
else { return (( (numarr[1] - '0') * 10 ) + (numarr[0] - '0')); }
}
void clear_num_arr(char numarr[2]) {
numarr[0] = '0'; numarr[1] = '0';
}
int main() { //Hi. The input-file has to have an empty line at the end. Sorry.
2022-12-04 21:33:10 +01:00
FILE *input_file = fopen("./input.txt", "r");;
fseek(input_file, 0, SEEK_END);
int if_size = ftell(input_file);
fseek(input_file, 0, SEEK_SET);
char input[if_size];
2022-12-04 21:33:10 +01:00
char c[1];
int val_arr[4];
int pos = 0;
char tmp_num[2];
int tmp_pos = 1;
2022-12-04 21:33:10 +01:00
int fully = 0;
int at_all = 0;
do {
c[0] = fgetc(input_file);
2022-12-04 21:33:10 +01:00
if(c[0]=='-' || c[0]==',') {
val_arr[pos] = numarr_to_int(tmp_num, tmp_pos);
tmp_pos = 1;
clear_num_arr(tmp_num);
2022-12-04 21:33:10 +01:00
pos++;
continue;
2022-12-04 21:33:10 +01:00
}
if(c[0]=='\n' || c[0]=='\r') {
val_arr[pos] = numarr_to_int(tmp_num, tmp_pos);
tmp_pos = 1;
clear_num_arr(tmp_num);
2022-12-04 21:33:10 +01:00
pos = 0;
//printf("%i; %i; %i; %i\r\n", val_arr[0], val_arr[1], val_arr[2], val_arr[3]); //DEBUG
if((val_arr[0]>=val_arr[2] && val_arr[1]<=val_arr[3]) || (val_arr[2]>=val_arr[0] && val_arr[3]<=val_arr[1])) fully++;
if((val_arr[1]>=val_arr[2] && val_arr[0]<=val_arr[3]) || (val_arr[3]>=val_arr[0] && val_arr[2]<=val_arr[1])) at_all++;
continue;
2022-12-04 21:33:10 +01:00
}
2022-12-04 21:33:10 +01:00
tmp_num[tmp_pos] = c[0];
tmp_pos--;
}
while(c[0] != (char)-1);
2022-12-04 21:33:10 +01:00
printf("~UwU Twying c todayw, awwen't we master? *^w^* Hewe is youww wesult: UmU~ : %i\r\n", fully);
printf("!OwO WHat wAs thAt MAstaww?!?! You wouwd like additioneww infowmatiown?!: UmU~ : %i\r\n", at_all);
return 0;
}