.


:




:

































 

 

 

 





: , , .

/* 11. : , , . . */

// :

void in_arr(int *arr, int n); // n arr

void out_arr(int *arr, int n); // n arr

int array_del_0(int *arr, int &n); //

//

void sort_bubble(int *x, int n);

// "-"- "-"-

void move_negative_numbers(int *x, int n);

#include <stdio.h>

#include <conio.h>

main()

{ int i, j, k, n;

int x[50];

printf("\n n: \n");

scanf("%d", &n);

in_arr(x, n);

printf(" \n %d: \n", n);

out_arr(x, n);

//

k = array_del_0(x, n);

printf("\n\n k = %d : \n", k);

out_arr(x, n);

//

n = 10;

randomize();

for(i = 0; i < n; i++)

x[i] = random(20);

printf("\n\n : \n");

out_arr(x, n);

printf("\n : \n");

sort_bubble(x, n);

out_arr(x, n);

// x[i] < 0 x[k] < 0

n = 10;

for(i = 0; i < n; i++)

x[i] = random(20) - 10;

printf("\n\n : \n");

out_arr(x, n);

printf("\n x[i] < 0 1- x[k] < 0: \n");

move_negative_numbers(x, n);

out_arr(x, n);

getch();

return 0;

}

// n arr[ ]

void in_arr(int *arr, int n)

{ printf("\n %d : ", n);

for (int i = 0; i < n; i++)

scanf("%d", arr++); //

}

// n arr[ ]

void out_arr(int *arr, int n)

{ for (int i = 0; i < n; i++)

{ printf(" %d ", *arr++); //

//

if ((i+1) % 10 == 0) // 10 :

printf("\n");

}

}

//

// : n = 5, x = 1, 0, 3, 0, 4 ==> n = 3, x = 1, 3, 4

int array_del_0(int *arr, int &n)

{ int i, j, k;

for (i = 0, k = 0; i < n; i++)

if (arr[i] == 0) k++;

else { j = i - k;

arr[j] = arr[i];

}

n = n - k; //

return k; //

}

//

// : n = 5, x = 6, 2, 1, 4, 3 ==> x = 1, 2, 3, 4, 6

void sort_bubble(int *x, int n)

{ int i, k, w;

for(k = 1; k < n; k++) //

// n-k+1

for(i = 0; i < n-k; i++) //

// n-k+1

if(x[i] > x[i+1]) //

{ w = x[i];

x[i] = x[i+1];

x[i+1] = w;

}

}

// "-"- "-"-

// : n = 6, x = 1, -2, 3, -4, -5, 6 ==> x = 1, -2, -4, -5, 3, 6

void move_negative_numbers(int *x, int n)

{ int i, k = n, w;

for(i = 0; i < n - 2; i++) // 1- "-"

if(x[i] < 0) { k = i + 1; break; }

if(k == n) return; // "-"

//

for(i = k; i < n; i++) // "-"- 1-

// "-"-

if(x[i] < 0)

{ w = x[i];

x[i] = x[k];

x[k] = w;

k++;

};

}

1. k move_negative_numbers()?

2. i,
i.

3. , .

4. , .

5. : , .

6. 2-5.

 





:


: 2015-10-01; !; : 459 |


:

:

, , . , .
==> ...

1850 - | 1694 -


© 2015-2024 lektsii.org - -

: 0.009 .