#define SIZE 5
#include <stdio.h>
#include <string.h>
#include <stdio.h>
void input( char fullname[ ] [ 25 ] , int age[ ] ) ;
void output( char fullname[ ] [ 25 ] , int age[ ] ) ;
void bubblesortname( char * fullname[ ] , int * age, int size) ;
void bubblesortage( char * fullname[ ] , int * age, int size) ;
int main( int argc, char * argv[ ] )
{
char fullname[ SIZE] [ 25 ] ;
int age[ SIZE] ;
// promt user for names and ages
input( fullname, age) ;
//output unsorted names and ages
output( fullname, age) ;
bubblesortname( fullname, age, SIZE) ;
output( fullname, age) ;
//sorts age
bubblesortage( fullname, age, SIZE) ;
//
output( fullname, age) ;
return 0 ;
}
void input( char fullname[ ] [ 25 ] , int age[ ] )
{
int i;
for ( i = 0 ; i < SIZE; i++ )
{
printf ( "Enter a full name\n " ) ; //scanf("%[\^n]\n", fullname[i]);
fgets ( fullname
[ i
] , 40 , stdin
) ;
}
}
void output( char fullname[ ] [ 25 ] , int age[ ] )
{
int i;
for ( i = 0 ; i < SIZE; i++ )
printf ( "%s, %d\n " , fullname
[ i
] , age
[ i
] ) ; } //end function
void bubblesortname( char * fullname[ ] , int * age, int size)
{
int temp_age;
char * temp_name;
int j, i;
for ( i = 0 ; i < SIZE - 1 ; ++ i)
{
for ( j = 0 ; i < SIZE - 1 ; ++ j)
{
if ( strcmp ( fullname
[ j
] , fullname
[ j
+ 1 ] ) > 0 ) {
temp_age = age[ i] ;
age[ j] = age[ j + 1 ] ;
age[ j + 1 ] = temp_age;
temp_name = fullname[ j] ;
fullname[ j] = fullname[ j + 1 ] ;
fullname[ j + 1 ] = temp_name;
} //end if
} //end inner for
} //end for
} //end function
bubblesortage( char * fullname[ ] , int * ages, int size)
{
int j, i;
int temp_age;
char * temp_name;
for ( i = 0 ; i < size - 1 ; ++ i)
{
for ( j = 0 ; j < size - 1 ; ++ j)
{
if ( age[ j] > age[ j + 1 ] )
{
temp_age = age[ j] ;
age[ j] = age[ j + 1 ] ;
age[ j + 1 ] = temp_age;
temp_name = fullname[ j] ;
fullname[ j] = fullname[ j + 1 ] ;
fullname[ j + 1 ] = temp_name;
} // end inner for
} // end outer for
} // end function
CSNkZWZpbmUgU0laRSA1CgkJI2luY2x1ZGUgPHN0ZGlvLmg+CgkJI2luY2x1ZGUgPHN0cmluZy5oPgoJCSNpbmNsdWRlIDxzdGRpby5oPgoJCQoJCQoJCXZvaWQgaW5wdXQoY2hhciBmdWxsbmFtZVtdWzI1XSwgaW50IGFnZVtdKTsKCQl2b2lkIG91dHB1dChjaGFyIGZ1bGxuYW1lW11bMjVdLCBpbnQgYWdlW10pOwoJCXZvaWQgYnViYmxlc29ydG5hbWUoY2hhciAqZnVsbG5hbWVbXSwgaW50ICphZ2UsIGludCBzaXplKTsKCQl2b2lkIGJ1YmJsZXNvcnRhZ2UoY2hhciAqZnVsbG5hbWVbXSwgaW50ICphZ2UsIGludCBzaXplKTsKCQkKCQlpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKSAKCQl7CgkJICAgIGNoYXIgZnVsbG5hbWVbU0laRV1bMjVdOwoJCSAgICBpbnQgYWdlW1NJWkVdOwoJCSAgICAKCQkgICAgCgkJICAgIAoJCSAgICAvLyBwcm9tdCB1c2VyIGZvciBuYW1lcyBhbmQgYWdlcwoJCSAgICBpbnB1dChmdWxsbmFtZSwgYWdlKTsKCQkgICAgLy9vdXRwdXQgdW5zb3J0ZWQgbmFtZXMgYW5kIGFnZXMKCQkgICAgb3V0cHV0KGZ1bGxuYW1lLCBhZ2UpOwoJCSAgICAKCQkgICAgYnViYmxlc29ydG5hbWUoZnVsbG5hbWUsYWdlLFNJWkUpOwoJCSAgICAKCQkgICAgb3V0cHV0KGZ1bGxuYW1lLCBhZ2UpOwoJCSAgICAKCQkgICAgLy9zb3J0cyBhZ2UKCQkgICAgYnViYmxlc29ydGFnZShmdWxsbmFtZSxhZ2UsU0laRSk7CgkJICAgIC8vCgkJICAgIG91dHB1dChmdWxsbmFtZSwgYWdlKTsKCQkgICAgCgkJICAgIAoJCSAgICByZXR1cm4gMDsKCQl9CgkJCgkJdm9pZCBpbnB1dChjaGFyIGZ1bGxuYW1lW11bMjVdLCBpbnQgYWdlW10pIAoJCXsKCQkgICAgaW50IGk7CgkJICAgIGZvciAoaSA9IDA7IGkgPCBTSVpFOyBpKyspIAoJCQl7CgkJICAgIAlmZmx1c2goc3RkaW4pOwoJCSAgICAgICAgcHJpbnRmKCJFbnRlciBhIGZ1bGwgbmFtZVxuIik7CgkJICAgICAgICAvL3NjYW5mKCIlW1xebl1cbiIsIGZ1bGxuYW1lW2ldKTsKCQkgICAgICAgIGZnZXRzIChmdWxsbmFtZVtpXSw0MCwgc3RkaW4pOwoJCSAgICAgICAgcHJpbnRmKCJFbnRlciB0aGUgYWdlXG4iKTsKCQkgICAgICAgIHNjYW5mKCIlZCIsICZhZ2VbaV0pOwoJCSAgICAgICAgIAoJCSAgICB9CgkJfQoJCQoJCXZvaWQgb3V0cHV0KGNoYXIgZnVsbG5hbWVbXVsyNV0sIGludCBhZ2VbXSkgCgkJewoJCSAgICBpbnQgaTsKCQkgICAgZm9yIChpID0gMDsgaSA8IFNJWkU7IGkrKykKCQkgICAgICAgIHByaW50ZigiJXMsICVkXG4iLCBmdWxsbmFtZVtpXSwgYWdlW2ldKTsKCQl9Ly9lbmQgZnVuY3Rpb24KCQkKCQl2b2lkIGJ1YmJsZXNvcnRuYW1lKGNoYXIgKmZ1bGxuYW1lW10sIGludCAqYWdlLCBpbnQgc2l6ZSkKCQl7CgkJCSBpbnQgdGVtcF9hZ2U7CgkJCSAgY2hhciogdGVtcF9uYW1lOwoJCQkgIGludCBqLGk7CgkJCSAgCgkJCSAgZm9yIChpID0gMDsgaSA8IFNJWkUgLSAxOyArK2kpIAoJCQkgIHsKCQkJICAgIGZvciAoaiA9IDA7IGkgPCBTSVpFIC0gMTsgKytqKSAKCQkJCXsKCQkJICAgICAgaWYgKHN0cmNtcChmdWxsbmFtZVtqXSwgZnVsbG5hbWVbaiArIDFdKSA+IDApIAoJCQkJICB7CgkJCSAgICAgICAgdGVtcF9hZ2UgPSBhZ2VbaV07CgkJCSAgICAgICAgYWdlW2pdID0gYWdlW2ogKyAxXTsKCQkJICAgICAgICBhZ2VbaiArIDFdID0gdGVtcF9hZ2U7CgkJCQoJCQkgICAgICAgIHRlbXBfbmFtZSA9IGZ1bGxuYW1lW2pdOwoJCQkgICAgICAgIGZ1bGxuYW1lW2pdID0gZnVsbG5hbWVbaiArIDFdOwoJCQkgICAgICAgIGZ1bGxuYW1lW2ogKyAxXSA9IHRlbXBfbmFtZTsKCQkgICAgICAgICAgICAJCQoJICAgICAgICAgICAgCQkKCSAgICAgICAgICAgCQkgfS8vZW5kIGlmCgkgICAgICAgICAgIAkJIAoJICAgICAgICAgICAJfS8vZW5kIGlubmVyIGZvcgoJICAgICAgICAgICAJCgkgICAgICAgIH0vL2VuZCBmb3IKCSAgICAgICAgCgkJfS8vZW5kIGZ1bmN0aW9uCgkJCQkKCQkJCWJ1YmJsZXNvcnRhZ2UoY2hhciAqZnVsbG5hbWVbXSwgaW50ICphZ2VzLCBpbnQgc2l6ZSkgCgkJCQl7CgkJCQkJaW50IGosaTsKCQkgCQkgCWludCB0ZW1wX2FnZTsKCQkgCQkgCWNoYXIqIHRlbXBfbmFtZTsKCQkgIAkJCQlmb3IgKGkgPSAwOyBpIDwgc2l6ZSAtIDE7ICsraSkgCgkJCQkJCSAgewoJCSAgIAkJCQkJIGZvciAoaiA9IDA7IGogPCBzaXplIC0gMTsgKytqKSAKCQkJCQkJCQl7CgkJICAgICAJCQkJCQkgaWYgKGFnZVtqXSA+IGFnZVtqICsgMV0pIAoJCQkJCQkJCQkgIHsKCQkgICAgICAgIAoJCSAgICAgICAJCQkJCQkJdGVtcF9hZ2UgPSBhZ2Vbal07CgkJICAgICAgICAJCQkJCQlhZ2Vbal0gPSBhZ2VbaiArIDFdOwoJCSAgICAgICAJCQkJCQkJYWdlW2ogKyAxXSA9IHRlbXBfYWdlOwoJCSAgICAgICAJCQkJCQkJdGVtcF9uYW1lID0gZnVsbG5hbWVbal07CgkJICAgICAgICAJCQkJCQlmdWxsbmFtZVtqXSA9IGZ1bGxuYW1lW2ogKyAxXTsKCQkgICAgICAgIAkJCQkJCWZ1bGxuYW1lW2ogKyAxXSA9IHRlbXBfbmFtZTsKCQkJCQkKCQkJCQkJCQkJCX0vLyBlbmQgaW5uZXIgZm9yCgkJCQkKCQkJCQkJCQl9Ly8gZW5kIG91dGVyIGZvcgoJCQoJCQkKCQkJCQkJCX0vLyBlbmQgZnVuY3Rpb24=
compilation info
prog.c: In function 'main':
prog.c:24:22: warning: passing argument 1 of 'bubblesortname' from incompatible pointer type
bubblesortname(fullname,age,SIZE);
^
prog.c:9:8: note: expected 'char **' but argument is of type 'char (*)[25]'
void bubblesortname(char *fullname[], int *age, int size);
^
prog.c:29:21: warning: passing argument 1 of 'bubblesortage' from incompatible pointer type
bubblesortage(fullname,age,SIZE);
^
prog.c:10:8: note: expected 'char **' but argument is of type 'char (*)[25]'
void bubblesortage(char *fullname[], int *age, int size);
^
prog.c: At top level:
prog.c:88:5: warning: return type defaults to 'int' [-Wreturn-type]
bubblesortage(char *fullname[], int *ages, int size)
^
prog.c:88:5: warning: conflicting types for 'bubblesortage'
prog.c:10:8: note: previous declaration of 'bubblesortage' was here
void bubblesortage(char *fullname[], int *age, int size);
^
prog.c: In function 'bubblesortage':
prog.c:97:19: error: 'age' undeclared (first use in this function)
if (age[j] > age[j + 1])
^
prog.c:97:19: note: each undeclared identifier is reported only once for each function it appears in
prog.c:112:8: error: expected declaration or statement at end of input
}// end function
^
stdout