Помогите пожалуйста со вводом количества элементов в массив. Количество элементов вводится, но программа не работает. Заранее благодарен.Код | #include <stdio.h> #include <conio.h> #include <math.h> #include <iostream.h> #define N 10
//-----------------------------------------------// void swap (int *a, int *b) { int t; t= *a; *a= *b; *b= t; } //-----------------------------------------------// void reverse (int *P, int m) { int i= 0, j= m; while (i < j) { swap (&P[i], &P[j]); i++; j--; } } //-----------------------------------------------// void antilex (int *P, int m) { int i; if (m == 0) { int sumL= 0, sumR= 0; for (i= 0; i < N / 2; i++) sumL+= P[i]; for (; i < N; i++) sumR+= P[i]; if ((sumL == sumR)||(abs(sumL-sumR)==1)) { for (i= 0; i < N; i++) printf ("%d ", P[i]); printf("\n"); } } else { for (i= 0; i <= m; i++) { antilex (P, m - 1); if (i < m) { swap (&P[i], &P[m]); reverse (P, m - 1); } } } // else if (m == 0) } //-----------------------------------------------// int main() { clrscr(); int i,k; int P[N]; char v; m1: cout<<"1. Nachat' programmu\n"; cout<<"2. Vihod iz programmy\n"; v=getch(); switch(v) { case '1':goto m2; case '2':goto m3; default:; } m2: clrscr(); printf("Vvedite chislo elementov: 0<k<%d\n",N); scanf("%d",&k); for (i= 0; i < k; i++) P[i]= i+1; antilex (P, k - 1); cout<<"Najmite ENTER chtoby vernutsya v menu"; getch(); clrscr(); goto m1; getch(); m3: return 0; }
|
|