Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdbool.h>
- #include <stdio.h>
- struct Numbers {
- int a;
- int b;
- };
- bool checkStructSize(struct Numbers numbs, int count) {
- if (sizeof(numbs) == sizeof(int) * count)
- return true;
- return false;
- }
- int getMax(struct Numbers numbs, int count) {
- int max = ((int *)&numbs)[0];
- for (int i = 1; i < count; i++) {
- if (max < ((int *)&numbs)[i])
- max = ((int *)&numbs)[i];
- }
- return max;
- }
- int getMin(struct Numbers numbs, int count) {
- int min = ((int *)&numbs)[0];
- for (int i = 1; i < count; i++) {
- if (min > ((int *)&numbs)[i])
- min = ((int *)&numbs)[i];
- }
- return min;
- }
- bool isEqual(struct Numbers numbs, int count) {
- if (count == 1)
- return false;
- for (int i = 0; i < count - 1; i++) {
- if (((int *)&numbs)[i] != ((int *)&numbs)[i + 1])
- return false;
- }
- return true;
- }
- void compareNumbers(struct Numbers numbs, int count) {
- if (!checkStructSize(numbs, count)) {
- printf("numbers count or structure is bad\n");
- return;
- }
- if (isEqual(numbs, count))
- printf("all numbers is equal\n");
- else
- printf("%d is max, %d is min\n",
- getMax(numbs, count),
- getMin(numbs, count));
- }
- void enterNumbers(struct Numbers *numbs, int count) {
- if (!checkStructSize(*numbs, count)) {
- printf("numbers count or structure is bad\n");
- return;
- }
- for (int i = 0; i < count; i++) {
- printf("enter %d value:> ", i + 1);
- scanf("%d", &((int *)numbs)[i]);
- }
- }
- int main() {
- struct Numbers numbs = {0};
- enterNumbers(&numbs, 2);
- compareNumbers(numbs, 2);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement