You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
824 B
44 lines
824 B
3 years ago
|
#include <stdio.h>
|
||
|
#include <string.h>
|
||
|
|
||
|
int main( int argc, char *argv[] ){
|
||
|
if( argc == 2 ) {
|
||
|
|
||
|
unsigned int horizontal = 0;
|
||
|
unsigned int depth = 0;
|
||
|
unsigned int aim = 0;
|
||
|
|
||
|
FILE *fp=fopen(argv[1], "r");
|
||
|
while (!feof (fp)){
|
||
|
char direction[7] = "";
|
||
|
int amount = 0;
|
||
|
fscanf(fp, "%s %d\n", direction, &amount);
|
||
|
|
||
|
|
||
|
if ( strcmp(direction,"forward") == 0 ){
|
||
|
horizontal+=amount;
|
||
|
depth+=(aim*amount);
|
||
|
} else if ( strcmp(direction,"down") == 0 )
|
||
|
aim+=amount;
|
||
|
else if ( strcmp(direction,"up") == 0 )
|
||
|
aim-=amount;
|
||
|
else
|
||
|
printf("Hopefully we don't get here\n");
|
||
|
|
||
|
|
||
|
}
|
||
|
|
||
|
printf("Horizontal: %d\n", horizontal);
|
||
|
printf("Depth: %d\n", depth);
|
||
|
printf("Product: %d\n", horizontal * depth);
|
||
|
fclose(fp);
|
||
|
|
||
|
|
||
|
|
||
|
return 0;
|
||
|
} else {
|
||
|
printf("You need to provide a file\n");
|
||
|
return 1;
|
||
|
}
|
||
|
}
|