The array is cyclically shifted left by 1 element. The task is to shift the array until the minimum value becomes the first (zero value).
void zmischennya(int masuv[], int n, int min, ...) { int j, temp, temp1, k; temp = masuv[0]; //Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌ ΠΏΠ΅ΡΠ²ΡΠΉ Π΅Π»Π΅ΠΌΠ΅Π½Ρ printf("\n Zmischennuy masuv na 1:\n"); for (j = 0; j < n; j++) { masuv[j] = masuv[j + 1]; //ΡΠ΄Π²ΠΈΠ³Π°Π΅ΠΌ Π½Π° 1 Π΅Π»Π΅ΠΌΠ΅Π½Ρ masuv[n] = temp; printf("\t %i", masuv[j]); } printf("\n Zmischenuy masuv min=1:\n"); temp1 = masuv[0]; for (j = 1; j < n; j++) //ΡΡΠΊΠ» ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠΊΠ° ΠΌΠΈΠ½ == ΠΌΠ°ΡΠΈΠ²[0] { if (masuv[0] != min) // ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π΅ ΡΡΠΎΠΈΡ Π»ΠΈ ΠΌΠΈΠ½ ΠΏΠ΅ΡΠ²ΡΠΌ, Π΅ΡΠ»ΠΈ Π½Π΅Ρ ΡΠΎ: { // ΡΠ΄Π²ΠΈΠ³Π°Π΅ΠΌ ΠΏΠΎΠΊΠ° Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ masuv[j] = masuv[j + 1]; masuv[n] = temp1; printf("\t %i", masuv[j]); } else // Π΅ΡΠ»ΠΈ Π΄Π° ΡΠΎ ΠΏΡΠΎΡΡΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ printf("\t %i", masuv[j]); } getch(); }
But only the left shift works, and the shift does not work until the condition is met. Why? Help me please.
n-1
, notn
! - VladD 2:46