Вопрос задан 30.06.2023 в 00:30. Предмет Информатика. Спрашивает Шурасев Никита.

На с++ Напишите программу, которая строит списки смежности для каждой вершины графа на основе его

матрицы смежности. Входные данные В первой строке вводится количество вершин графа N ( 1 ≤ N ≤ 1000 ). В следующих N строках записано по N чисел, разделённых пробелами – элементы матрицы смежности графа. Выходные данные Программа должна вывести списки смежности для каждой вершины графа в порядке возрастания их номеров. Номера вершин в каждом списке разделены пробелами. Нумерация начинается с единицы. Если из вершины не выходит ни одно ребро, вместо списка нужно вывести число 0. Примеры входные данные 5 0 1 1 1 0 1 0 1 0 1 1 1 0 1 0 0 0 0 0 0 0 1 0 1 0 выходные данные 2 3 4 1 3 5 1 2 4 0 2 4
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Красько Арина.

Ответ:

#include <iostream>

#include <cmath>

using namespace std;

int main() {

   int n, k=0;

   cin >> n;

   int a[n+1][n+1];

   for (int i = 1; i <= n; i++) {

       for (int j = 1; j <= n; j++) {

           cin >> a[j][i];

       }

   }

   for (int i = 1; i <= n; i++) {

       if (i>=2) cout << endl;

       k=0;

       for (int j = 1; j <= n; j++) {

           if (a[j][i] == 1){

               cout << j << " ";

               k++;

           }

       }

       if (k==0) cout << k;

   }

   return 0;

}

Объяснение:

0 0
Отвечает Тименев Максим.

Ответ:

#include <iostream>

using namespace std;

int main()

{

   int n,k=0,p=1;  

   cin>>n;

   

   int x[n*n];

   int a[n*n];

   

   

       for (int j=0; j<n*n; j++)

           {

               cin>>x[j];

               if (x[j]==1)

                   a[j]=(j%n)+1;

               else

                   a[j]=0;

           }

   

   

            for (int j=0; j<n*n; j++)

               {    

                   if (a[j]!=0)

                       cout<<a[j]<<" ";

                   else

                       {

                       if (j%n==0)

                           {

                             

                           

                               for (int i=j; i<j+n; i++)

                                   if (a[i]==0)

                                       p++;

                               if (j==0)

                                   p--;

                               if (p==n)

                                   cout<<0;

                               p=0;

                           }

                       }

                   k++;

                   if (k%n==0)

                       cout<<endl;

               }

       

}

Объяснение:

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Вот пример программы на C++, которая строит списки смежности для каждой вершины графа на основе его матрицы смежности:

cpp
#include <iostream> #include <vector> using namespace std; int main() { int N; cin >> N; // Создаем матрицу смежности и списки смежности vector<vector<int>> adjacencyMatrix(N, vector<int>(N)); vector<vector<int>> adjacencyLists(N); // Вводим матрицу смежности for (int i = 0; i < N; ++i) { for (int j = 0; j < N; ++j) { cin >> adjacencyMatrix[i][j]; } } // Строим списки смежности for (int i = 0; i < N; ++i) { for (int j = 0; j < N; ++j) { if (adjacencyMatrix[i][j] == 1) { adjacencyLists[i].push_back(j + 1); // +1 для нумерации с 1 } } } // Выводим списки смежности for (int i = 0; i < N; ++i) { for (int j = 0; j < adjacencyLists[i].size(); ++j) { cout << adjacencyLists[i][j]; if (j < adjacencyLists[i].size() - 1) { cout << " "; } } if (adjacencyLists[i].empty()) { cout << "0"; // Если из вершины не выходит ни одного ребра } cout << endl; } return 0; }

Вы можете скомпилировать и запустить эту программу, введя количество вершин графа и матрицу смежности в соответствии с вашими требованиями. Программа выведет списки смежности для каждой вершины в порядке возрастания их номеров.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос