Esempio n. 1
0
int main(){

	// Two integers j and k
	int j = 4;
	int k = 5;

	// Display them pre and post swap to show inplace_swap() working
	printf("j = %d, k = %d\n", j, k);
	inplace_swap(&j,&k);
	printf("j = %d, k = %d\n", j, k);

	int a[4] = {1,2,3,4,};		// array #1 - 4 elements
	int b[5] = {1,2,3,4,5};		// array #2 - 5 elements, to show an odd number

	// Print out the array post reversal
	reverse_array(a, (sizeof(a)/sizeof(*a)));
	for(int i=0; i < (sizeof(a)/sizeof(*a)); i++){
			printf("%d ", a[i]);}
	printf("\n");

	// Print out the array post reversal
	reverse_array(b, (sizeof(b)/sizeof(*b)));
	for(int i=0; i < (sizeof(b)/sizeof(*b)); i++){
			printf("%d ", b[i]);}
	printf("\n");
	return 0;
}
Esempio n. 2
0
/* $begin reverse-array */
void reverse_array(int a[], int cnt) {
    int first, last;
    for (first = 0, last = cnt-1;
	 first <= last; //line:data:prob:reverse
	 first++,last--)
        inplace_swap(&a[first], &a[last]);
}
Esempio n. 3
0
void reverse_array(int a[], int count){
	int first, last;

	for(first=0, last=count-1; first < last; first++, last--){
		inplace_swap(&a[first], &a[last]);
	}
}
Esempio n. 4
0
int main()
{
	int x = 1, y = 2;
	printf("Before swap:\n");
	show_int(x);
	show_int(y);
	inplace_swap(&x, &y);
	printf("After swap:\n");
	show_int(x);
	show_int(y);
	return 0;
}
Esempio n. 5
0
reverse_array(int a[], int cnt) {
    int first, last;
    int x = 2;
    int y = 2;
    inplace_swap(&x, &y);
    printf("________________________\n");
    for (first = 0, last = cnt - 1;
            first <= last;
            first++, last--) {
        if (first == last) {
            printf("index---%d------%d\n", first, last);
            printf("111111111111111%d------%d\n", a[first], a[last]);
            inplace_swap(&a[first], &a[last]);
            printf("222222222222222%d------%d\n", a[first], a[last]);
        } else {
            inplace_swap(&a[first], &a[last]);
        }

    }
    return a;
}
Esempio n. 6
0
int main(void) {
    test_show_bytes(0x12345678);
    practice2D2();
    const char *s = "ABCDEF";
    show_bytes((byte_pointer) s, strlen(s));

    int a = 20, b = 30;
    inplace_swap(&a, &b);
    printf("a=%d, b=%d\n", a, b);
    practice2D7();
    practice2D8();
    practice2D10();
    practice2D11();
}
Esempio n. 7
0
void swap(){
	int i;
	int par[2];
	char p;
start:
	printf("switch integer or character to be done,integer input 1 \
	and character input 2,and array input 3,exit input 4\n");
	scanf("%d",&i);
	switch(i){
	case 1:
		goto integer;
		break;
	case 2:
		goto character;
		break;
	case 3:
		goto array;
		break;
	case 4:
		goto end;
		break;
	default:
		printf("input error");
		goto start;
	}
character:
	printf("input two characters\n");
	i = 0;
	while(i<2){
		p = getchar();
		if(p != ',' && p != ' ' && p != 10){
			par[i] = p - '\0';//or par[i] = (int)p
			i++;
		}
	}
	goto do_char;
integer:
	printf("input two integers\n");
	scanf("%d",&par[0]);
	scanf("%d",&par[1]);
	goto do_int;
array:
	printf("input 1 for int and 2 for char array\n");
	int j,length,z;
	int array[100];
	int k;
	scanf("%d",&j);
	switch(j){
	case 1:
		printf("enter the length of array\n");
		scanf("%d",&length);
		printf("input for array\n");
		for(k=0;k<length;k++){
			scanf("%d",&array[k]);
			//printf("%d\n",array[k]);
		}
		goto do_array_int;
		break;
	case 2:
		printf("enter the length of array\n");
		scanf("%d",&length);
		printf("input for array\n");
		char q;
		k=0;
		while(k<length){
			q = getchar();
			if(q != ',' && q != ' ' && q != 10){
				array[k] = q - '\0';//or par[i] = (int)p
				k++;
			}
		}
		goto do_array_char;
		break;
	default:
		printf("input error");
		goto array;
		break;
	}
	goto array;
do_char:
	inplace_swap(&par[0],&par[1]);
	printf("%c %c\n",par[0],par[1]);
	goto start;
do_int:
	inplace_swap(&par[0],&par[1]);
	printf("%d %d\n",par[0],par[1]);
	goto start;
do_array_int:
	reverse_array(array,length);
	for(z=0;z<length;z++)
		printf("%d ",array[z]);
	printf("\n");
	goto start;
do_array_char:
	reverse_array(array,length);
	for(z=0;z<length;z++)
		printf("%c ",array[z]+'\0');
	printf("\n");
	goto start;
end:
	printf("good bye\n");
}
Esempio n. 8
0
void reverse_array(int a[], int cnt) {
	int frist, last;
	for (frist = 0, last = cnt - 1; frist <= last; frist++, last--) {
		inplace_swap(&a[frist], &a[last]);
	}
}