/*
 * Translate the following codes to full Pascal programs 
 */

//Scope of variable

#include<stdio.h>
#include<stdlib.h>
int count = 1;
int b[5] = {1,6,12,11,0};
void Fun1(){
	int i;
	count= count+2;
	for(i=0;i<count;i++)
		b[i]++;
	return;
}
void Fun2(){
	int i;
	for(i=0;i<count;i++)
		b[i] = b[i]+2;
	count--;
	return;
}
int main(void){
	int i;
	for(i=0;i<3;i++)
		(i%2==0 ? Fun1() : Fun2());
	return 0;
}
/*************************************************************************/
// Shell Sort
#include<stdio.h>
#define MAX 8

int main(void) {
  	int a[MAX]={2,4,1,9,-1,0,5,3};
  	int i, j, increment, temp;
  	increment = 3;
  	while (increment > 0){
		for (i=0; i < MAX; i++){
			j = i;
			temp = a[i];
			while ((j >= increment) && (a[j-increment] > temp)){
				a[j] = a[j - increment];
				j = j - increment;
			}
			a[j] = temp;
		}
		if (increment/2 != 0)
			increment = increment/2;
		else if (increment == 1)
			increment = 0;
		else
			increment = 1;
  	}
	return 0;

}
/*************************************************************************/
//Insertion Sort
#include<stdio.h>
#define MAX 7

int main(void) {
  	int a[MAX]={7,2,4,1,9,5,10};
  	int i, j, index;

	for (i=1; i < MAX; i++)
  	{
    		index = a[i];
    		j = i;
    		while ((j > 0) && (a[j-1] > index)){
      			a[j] = a[j-1];
      			j = j - 1;
			}
    		a[j] = index;
  	}
	return 0;
}

/************************************************************************/
//
#include<stdio.h>
char Result(int grade){
	return grade >= 90 ? 'A' :
	      ((grade >= 80) ? 'B' :
	      ((grade >= 70) ? 'C' :
	      ((grade >= 60) ? 'D' : 'F' )));
}					
int main(void){
	int student[]={0,45,67,97,88,75,56,80,60,79,83,91,62};
	int i;
	char Letter1,Letter2,Letter3;
	for(i=0;i<=10;i+=3){
		Letter1=Result(student[i]);
		Letter2=Result(student[i+1]);
		Letter3=Result(student[i+2]);
	}
	return 0;
}

/**************************************************************/
//Slow GCD-like
#include<stdio.h>
int main(void){
	int A=15;
	int B=10;
	int C=B;
	while(!( (A%C)==0 && (B%C)==0 ) ) C--;
	A=A/C;     
	B=B/C;
	return 0;
}