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