0

Ошибка "неразрешенный внешний символ". Что не так?

Main.cpp


#include "Array.h"

int main() { setlocale(LC_ALL, "rus"); int direction = 1; int const n = 10; array[n] = {1,3,2,7,10,4,6,5,8,9}; sort(array, n); }

Array.h

#pragma once
#include <iostream>

extern int direction; void sort(int*, int);

Array.cpp

#include "Array.h"
void sort(int* array, int left, int right)
{
    if (direction == 1) {
        int i = left, j = right;
        int mid = array[(left + right) / 2];
        do {
            while (array[i] < mid) i++;
            while (array[j] > mid) j--;
            if (i <= j)
            {
                int tmp = array[i];
                array[i] = array[j];
                array[j] = tmp;
                i++; j--;
            }
        } while (i <= j);
        if (j > left) sort(array, left, j);
        if (i < right) sort(array, i, right);
    }
    else {
        int i = left, j = right;
        int mid = array[(left + right) / 2];
        do {
            while (array[i] > mid) i++;
            while (array[j] < mid) j--;
            if (i <= j)
            {
                int tmp = array[i];
                array[i] = array[j];
                array[j] = tmp;
                i++; j--;
            }
        } while (i <= j);
        if (j > left) sort(array, left, j);
        if (i < right) sort(array, i, right);
    }
}
  • 1
    В файле Main.cpp вынесите строку int direction = 1; перед main() – avp Apr 14 '23 at 21:08
  • 1
    Покажите ошибку дословно и целиком. Скажите, как именно вы компилируете этот код. – HolyBlackCat Apr 14 '23 at 21:19

0 Answers0