Fix errors from reordering problem numbers, and add P2 solution

This commit is contained in:
Myles Busig 2024-10-30 12:37:16 -07:00
parent e991727db3
commit c65937127c
5 changed files with 52 additions and 10 deletions

View File

@ -1,5 +1,5 @@
#ifndef P2_H
#define P2_H
#ifndef P1_H
#define P1_H
void find_avg_min_max(double* arr, int size,
double* out_avg, double* out_min, double* out_max);

7
include/p2.h Normal file
View File

@ -0,0 +1,7 @@
#ifndef P2_H
#define P2_H
int pop_front(int* arr, int size);
#endif

View File

@ -1,5 +1,5 @@
#ifndef P1_H
#define P1_H
#ifndef P5_H
#define P5_H
int count_alphanumeric(const char* str);

View File

@ -3,14 +3,20 @@
#include "p1.h"
#include "p2.h"
#include "p3.h"
#include "p5.h"
void print_int_arr(int* arr, int size) {
for (int i = 0; i < size; ++i) {
printf(" %d", arr[i]);
}
putchar('\n');
}
int main(void) {
// Problem 1
int num_alphanum = count_alphanumeric("Hello World!!");
printf("Number of alphanumeric characters in \"Hello World!!\": %d\n", num_alphanum);
// Problem 2
double arr[8] = {
printf("Problem 1:\n");
double p1_arr[8] = {
2.5, 4.3, 8.1, -7.4, 2.0, 1.0, 3.0, 4.0
};
@ -18,14 +24,31 @@ int main(void) {
double min = 0;
double max = 0;
find_avg_min_max(arr, 8, &avg, &min, &max);
find_avg_min_max(p1_arr, 8, &avg, &min, &max);
printf("Average: %.2lf, Min: %.2lf, Max: %.2lf\n", avg, min, max);
// Problem 2
printf("Problem 2:\n");
int p2_arr[16] = { 1, 2, 3, 4, 5 };
int size = 5;
print_int_arr(p2_arr, size);
size = pop_front(p2_arr, size);
print_int_arr(p2_arr, size);
// Problem 3
printf("Problem 3:\n");
double sum_of_file = sum_file("input_p3.dat");
printf("Sum of file: %.2lf\n", sum_of_file);
//
// Problem 5
printf("Problem 5:\n");
int num_alphanum = count_alphanumeric("Hello World!!");
printf("Number of alphanumeric characters in \"Hello World!!\": %d\n", num_alphanum);
return 0;
}

12
src/p2.c Normal file
View File

@ -0,0 +1,12 @@
#include "p2.h"
int pop_front(int* arr, int size) {
int new_size = size - 1;
for (int i = 0; i < new_size; ++i) {
arr[i] = arr[i + 1];
}
return new_size;
}