Я пишу код, который выполняет базовый c анализ данных.
Собранные данные находятся в массиве структур. Он принимает приблизительную форму:
struct page {
int width;
int length;
char name[50];
// etc...
}
struct page pages[100];
Мне нужно написать код, который находит наименьшую ширину, наибольшую ширину, наименьшую длину, наибольшую длину и т. Д. c. Итак, я пишу код, который выглядит примерно так:
int smallestWidth(struct page pages[]){
unsigned int smallest = -1;
(for loop){
if (smallest > pages[i].width) smallest = pages[i].width;
}
return smallest;
}
И затем я обнаруживаю, что копирую эту функцию и меняю крошечные детали для других требований, таких как наибольшая ширина. И всякий раз, когда я копирую фрагменты кода, это вызывает у меня тревогу, и я думаю, что делаю это неправильно.
Но я вроде как новичок в C, поэтому я не уверен, как правильно подойти к этому. Как бы вы правильно записали это в C (если есть правильный способ), который минимизирует количество кода, который я копирую?