Загрузка данных


void dfs4(int v, int matrix[100][100], int n, bool visited[], int &count) {
    visited[v] = true;      // помечаем вершину как посещённую
    count++;                // увеличиваем счётчик (мы нашли новую вершину в компоненте)

    // Перебираем все вершины i от 0 до n-1
    for (int i = 0; i < n; i++) {
        // Если есть ребро из v в i (matrix[v][i] == 1) и i ещё не посещена
        if (matrix[v][i] == 1 && !visited[i]) {
            dfs4(i, matrix, n, visited, count); // рекурсивно обходим i
        }
    }
}