// 10192009.cpp, P H Anderson, Oct 19, '09

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef struct
{
    char name[15];
    int id;
} STUDENT;

void print_array(int a[], int num);
void sort_array(int a[], int num);

void print_STUDENT_array(STUDENT stu[], int num);
void sort_STUDENT_array(STUDENT stu[], int num);

int main()
{
   int a[10] = {9, 6, 7, 1, 2, 5, 7, 8, 11, 19}; // 10 ele
   
   STUDENT students[3] ={{"Peterson", 1234}, 
                         {"Bensonhugger", 4321}, {"Aaronsen", 6766}};

   char s[10] = "1245";  int v;                       
 
   print_array(a, 10);
   sort_array(a, 10);
   print_array(a, 10);
   
   print_STUDENT_array(students, 3);
   printf("\n\n");
   sort_STUDENT_array(students, 3);
   print_STUDENT_array(students, 3);
  
   system("pause");
    
   sscanf(s, "%d", &v);
   printf("%d\n", v);
   v = v + 200;
   
   sprintf(s, "%d", v);
   printf("%s\n", s);   
   system("pause");        
}

void print_array(int a[], int num)
{
    int n;
    for (n=0; n<num; n++)
    {
        printf("%d ", a[n]);        
    }
    printf("\n");
}

void sort_array(int a[], int num)
{
    int i, j, tmp;
    for (i=0; i<num-1; i++)
    {
        for (j=i+1; j<<num; j++)
        {
            if (a[j] < a[i])
            {
                tmp = a[i];
                a[i] = a[j];
                a[j] = tmp;                
            }
        }
    }
}
  
void print_STUDENT_array(STUDENT *stu, int num)
{ 
    for (int n=0; n<num; n++)
    {
        printf("%s, %d\n", stu[n].name, stu[n].id);
    }   
}

void sort_STUDENT_array(STUDENT *stu, int num)
{ // stub - this just interchanges two elements
   STUDENT tmp;
   int sz;
   sz = sizeof(STUDENT);
   
   memcpy( &tmp,  &stu[0], sz);
   memcpy( &stu[0], &stu[1], sz);
   memcpy( &stu[1], &tmp, sz);  
}

#ifdef OUTPUT
9 6 7 1 2 5 7 8 11 19
1 2 5 6 7 7 8 9 11 19
Peterson, 1234
Bensonhugger, 4321
Aaronsen, 6766

Bensonhugger, 4321
Peterson, 1234
Aaronsen, 6766
Press any key to continue . . .
1245
1445
Press any key to continue . . .
#endif