Skip to content

Instantly share code, notes, and snippets.

@masterfermin02
Created April 21, 2017 14:13
Show Gist options
  • Save masterfermin02/9a14bff4c251a4f200e64612516116fb to your computer and use it in GitHub Desktop.
Save masterfermin02/9a14bff4c251a4f200e64612516116fb to your computer and use it in GitHub Desktop.
#include <stdio.h>
int main(void) {
// your code goes here
/* local variable definition */
int arrlenth;
int *list;
int minvalue;
int maxvalue;
int i;
printf( "Digite cantidad elementos : ");
scanf("%d",&arrlenth);
list = (int *)malloc(arrlenth * sizeof(int));
for (i = 0; i < arrlenth; i++){
printf( "Digite en [%d] : ", i);
scanf("%d",&list[i]);
}
maxvalue = maxInArray(list, arrlenth, 0, list[0]);
printf( "Max value is : %d\n", maxvalue);
printf( "Min value is : %d\n", minInArray(list, arrlenth, 0, maxvalue));
if(isMayoritario(list, arrlenth) == 1)
printf( "El arreglo es mayoritario \n");
else
printf( "El arreglo no es mayoritario \n");
return 0;
}
int maxInArray(int *array,int lenth,int pos, int maxnum){
int a = array[pos];
maxnum = max(a, maxnum);
if(pos >= lenth)
return maxnum;
return maxInArray(array,lenth,pos + 1, maxnum);
}
int minInArray(int *array,int lenth,int pos, int minnum){
int a = array[pos];
minnum = min(a, minnum);
if(pos >= lenth - 1)
return minnum;
return minInArray(array, lenth, pos + 1, minnum);
}
int isMayoritario(int *list,int lenth){
int i = 0;
for(i = 0; i < lenth; i++){
int repeticiones = getRepeticiones(list[i], list, lenth);
if(repeticiones > (lenth / 2))
return 1;
}
return 0;
}
int getRepeticiones(int elem, int *list,int lenth){
int rep = 0, i;
for(i = 0; i < lenth; i++){
if(elem == list[i])
rep ++;
}
return rep;
}
/* function returning the max between two numbers */
int max(int num1, int num2) {
/* local variable declaration */
int result;
if (num1 > num2)
result = num1;
else
result = num2;
return result;
}
/* function returning the max between two numbers */
int min(int num1, int num2) {
/* local variable declaration */
int result;
if (num1 < num2)
result = num1;
else
result = num2;
return result;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment