Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.12.2010, 20:01   #1
Daniya.ru
Пользователь
 
Аватар для Daniya.ru
 
Регистрация: 24.11.2010
Сообщений: 17
По умолчанию Графы

Помогите решить задачу!Битый час сижу и без толку!
Простой неориентированный граф задан списком ребер, выведите его представление в виде матрицы смежности.
Формат входных данных
Входной файл содержит числа n (1 < n < 100) - число вершин в графе и т (1 < т < n(n - 1)/2) - число ребер. Затем следует т пар чисел — ребра графа.

Код:
#include<iostream>
using namespace std;
const int n=3;
const int m=3;

int main()
{

            int i,j,t1,t2;
	        int ar[2][m],matr_smeg[n][n];
            int k=0;
            int a=0,b=0;
            int tmp1,tmp2;

            for(i=0;i<n;i++)
            for(j=0;j<n;j++)
                matr_smeg[i,j]==0;
			
            for(i=0;i<2;i++)
            for(j=0;j<m;j++)
				cin>>ar[i][j];
			for(i=0;i<2;i++){
            for(j=0;j<m;j++)
				cout<<ar[i][j]<<" ";
			     cout<<endl;
			}
             while (k < m) 
            {
                 tmp1=ar[a][b]=i; /*b++;*/
                 tmp2=ar[a][b]=j; /*a++;*/ 
				matr_smeg[tmp1][tmp2]=1;
                matr_smeg[tmp2][tmp1]=1; 

                /*matr_smeg[0][k]=i; 
                matr_smeg[1][k]=j;*/
                k++;
            }
          for(i=0;i<n;i++){
            for(j=0;j<n;j++)
				cout<<matr_smeg[i][j]<<" ";
			     cout<<endl;
			}
                
           
           getchar();
           getchar();
           getchar();
           return 0;
            }

Последний раз редактировалось ACE Valery; 12.12.2010 в 00:45.
Daniya.ru вне форума Ответить с цитированием
Старый 11.12.2010, 21:33   #2
Vago
Форумчанин
 
Регистрация: 15.01.2010
Сообщений: 948
По умолчанию

Цитата:
Сообщение от Daniya.ru Посмотреть сообщение
...
matr_smeg[i,j]==0;
...
Слабенько, конечно...
...
Код:
#include <iostream>
using namespace std;

const int nMax = 3 ;
const int tMax = nMax*(nMax-1)/2 ;


int main() {

   int   i, j ;
   int   ar[tMax][2], 
         matr_smeg[nMax][nMax];
   int   n, t, tmp1,tmp2;

   cout << "Number of vertices ? ";
   cin >> n ;
   cout << "Number of edges ? ";
   cin >> t ;   
   
   // Adjacency matrix zeroing
   for ( i=0; i<n; i++ )
      for ( j=0; j<n; j++ )
         matr_smeg[i][j] = 0 ;

   // Edges input
   cout << "For each edge please input the pair of verices it connects" << endl ;
   for(i=0;i<t;i++) {
      cout << "Edge # " << i+1 << " " ;
      for(j=0;j<2;j++) {
         cin >> ar[i][j] ;
      }
   }

   // Edges output
   cout << endl << "The list of edges:" << endl ;
   for(i=0;i<t;i++){
      for(j=0;j<2;j++)
         cout << ar[i][j] << " ";
      cout<<endl;
   }

   // Compute the adjacency matrix
   for ( i = 0; i < t; i++ ) {
      tmp1 = ar[i][0] - 1 ;
      tmp2 = ar[i][1] - 1 ;
      matr_smeg[tmp1][tmp2] += 1 ;
      // COMMENT the following line if we deal with the ORIENTED graph !
      matr_smeg[tmp2][tmp1] += 1 ;
   }

   // Print the adjacency matrix
   cout << "The adjacency matrix:" << endl ;   
   for(i=0;i<n;i++){
      for(j=0;j<n;j++)
         cout << matr_smeg[i][j]<<" ";
      cout<<endl ;
   }


   getchar() ;

   return 0 ;

}
В качестве упражнения предлагается написать контроль условий:
1 <= n <= nMax
1 <= t <= tMax
и вводимых значений ar[i][j]. Никакое из этих значений не должно, очевидно, превышать n.

Ну и из условия не ясно, допустимы ли петли. Ежели нет - ещё один контроль надо вставить.
Vago вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
графы! Daniya.ru Общие вопросы C/C++ 6 09.12.2010 21:16
Графы STeM Помощь студентам 14 09.06.2010 09:32
Графы Dead Romantic Помощь студентам 4 31.05.2010 13:25
Графы С++ Fantazerishka Помощь студентам 11 17.04.2010 12:32
Графы на С++ corri Общие вопросы C/C++ 3 03.10.2009 01:42