Всем привет. Нужно сделать сортировку разделением. Написал вот такой код: 
 Код
#include<stdafx.h>; 
 #include<iostream>; 
 #include<stdlib.h>; 
 using namespace std; 
 int n, a[]; 
 void quicksort(int* a_arr, int first, int last, int opor) 
 { 
  int opor_zna, f, l,c; 
  double opor_index; 
  f = first; 
  l = last; 
  opor_zna = a_arr[opor]; 
  opor_index = opor; 
   
  while (a_arr[f] < opor_zna) f++; 
  while (a_arr[l] > opor_zna) l--; 
  if ((f != opor_index) && (l != opor_index)) 
  { 
   c = a_arr[f]; 
   a_arr[f] = a_arr[l]; 
   a_arr[l] = c; 
   quicksort(a_arr,f , l, opor); 
  } 
   else 
  if ((f = opor_index) || (l = opor_index)) 
  { 
   if ((f = opor_index) && (l = opor_index)) 
   { 
    
   } 
    else 
    if ((l = opor_index) && (f!=opor_index)) 
   { 
    c = a_arr[f]; 
    a_arr[f] = a_arr[l]; 
    a_arr[l] = a_arr[f]; 
    opor = f; 
    quicksort(a_arr, f, l, opor); 
   } 
    else 
    if ((f = opor_index) && (l!=opor_index)) 
    { 
     c = a_arr[f]; 
     a_arr[f] = a_arr[l]; 
     a_arr[l] = a_arr[f]; 
     opor = l; 
     quicksort(a_arr, f, l, opor); 
    } 
  } 
 } 
 void main() 
 { 
  int k=0; 
  cout << "Vvedite kol-vo elementov massiva: "; 
  cin >> n; 
  for (k = 0; k < n; k++) 
  { 
   cout << "Vvedite znachenie" << k << "-ogo elementa: "; 
   cin >> a[k]; 
   cout << endl; 
  } 
  quicksort(a, 0, n, n/2); 
  cout << "Noviy massiv: "; 
  for (k = 0; k < n; k++) 
  { 
   cout << a[k]; 
  } 
 } 
 
 Но почему-то выдает две, связанные между собой, ошибки. 
 Помогите, пожалуйста.
Добавлено (06 декабря 2014, 04:24)
---------------------------------------------
Уже решил проблему)