Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
BSEARCH() WITH STRUCT
#include <stdio.h> #include <stdlib.h> #include <ctype.h> typedef struct { char name[101]; unsigned short age; }student; void input(student *, unsigned short ); void strUpper(char *); int compareAge(const void *, const void *); void output(student *, unsigned short); int compare(const void *, const void *); int main(void) { student array[1000]; student *pointer; unsigned short total; unsigned short clave; scanf("%hu", &total); scanf("%hu", &clave); input(array, total); qsort(array, total, sizeof(student), compareAge); pointer = bsearch(&clave, array, total, sizeof(student), compare); if ( pointer == NULL) printf("%hu NO ESTA EN EL ARRAY", clave); else printf("%hu ESTA EN EL ARRAY", clave); //output(array, total); return 0; } void input(student *array, unsigned short total) { unsigned short i; for ( i = 0 ; i < total ; i ++ ) { scanf("%100[^,]s", array[i].name); getchar(); strUpper(array[i].name); scanf("%hu", &array[i].age); } total = i; } void strUpper(char *name) { while ( *name != '\0' ) { if ( islower( *name) ) *name = toupper( *name); name ++; } } int compareAge(const void *pivot, const void *element) { student *ptrPivot = (student *) pivot; student *ptrElement = (student *) element; return ( ptrPivot -> age) - ( ptrElement -> age); } void output(student *array, unsigned short total) { unsigned short i; for ( i = 0 ; i < total ; i ++ ) printf("%s %hu", array[i].name, array[i].age); } int compare(const void *clave, const void *element) { unsigned short *ptrClave = (unsigned short *) clave; student *ptrElement = (student *) element; return *ptrClave - ptrElement -> age; }
run
|
edit
|
history
|
help
0
ele709 lab 3.2
AC_setting_example
Exploiting uninitialized variable 2
Jan23
1.8 Parallizing for loop
Project 4 v0.1
C_141204_ContadorPalabras
strcpy
GCC supports 128-bit integer arithmetic
ECE 2574 1/23