С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Бубалёх
0 / 0 / 1
Регистрация: 01.12.2010
Сообщений: 34
#1

Объясните, как понять строчку в коде - C++

08.06.2013, 15:00. Просмотров 248. Ответов 1
Метки нет (Все метки)

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#include <stdio.h>
#include <conio.h>
#include <windows.h>
#include <locale.h>
 
#define M 1000
 
int versh[10], ves[10][10], nov_ves[10][10], zamk[10], n;
 
int ne_zamk (int i, int n1){ //проверка на включение вершины в цикл
int j;
  for(j=0; j<=n1; j++)
if(zamk[j]==i)
   return 1;
   return 0;
}
 
void postr_derevo(){
 
int i=0, j, schet=0;
int min, k, v1=0, v2=0;
zamk[0]=0;
while(schet < n-1)
{
min=M;
  for(i=0; i<=schet; i++)
    for(j=0; j<n; j++)
        if(ves[zamk[i]][j]<min && !ne_zamk(j,schet)){ // ВОТ ЗДЕСЬ НЕПОНЯТНО. ЧТО ЭТО ЗА 2 КВАДРАТНЫЕ СКОБКИ //                           /////////////////////////////////////////////////////////////ves[zamk][i]][j]
min=ves[zamk[i]][j];
v1=zamk[i];
v2=j;
}
nov_ves[v1][v2]=nov_ves[v2][v1]=min;
schet++;
zamk[schet]=v2;
printf("\nВы ввели : %d) %d-------%d вес = %d \n",schet,v1+1,v2+1,min);
_getch();
}
}
 
void main(){
  int i,j,ed,sum=0;
  setlocale(LC_ALL,"RUS");
  system("cls");
  printf("\n\n\tЖАДНЫЙ АЛГОРИТМ ДЛЯ НАХОЖДЕНИЯ ОСТОВНОГО ДЕРЕВА\n\n");
  printf("\n\tВведите количество вершин : ");
  scanf("%d",&n);
  for(i=0; i<n; i++){
     versh[i]=i+1;
    for(j=0; j<n; j++){
      ves[i][j]=M;
      nov_ves[i][j]=M;
       }
   }
 
printf("\n\nПолучение веса.\n");
printf("\n\tВведите 0 если ребра не существует между вершинами {v1,v2}. В противном случае введите вес ребра.\n");
   for(i=0; i<n; i++)
     for(j=i+1; j<n; j++){
     printf("\n\t%d ------ %d : ",versh[i],versh[j]);
     scanf("%d",&ed);
   if(ed>=1)
     ves[i][j]=ves[j][i]=ed;
}
_getch();
 
system("cls");
printf("\n\n\t\tВЕРШИНЫ ДОБАВЛЕНЫ В ОСТОВНОЕ ДЕРЕВО\n\n");
postr_derevo();
printf("\n\tМАТРИЦА ВЕСОВ РЕБЕР ГРАФА\n\n");
printf("\n\tвесовая матрица\n\n\t");
     for(i=0; i<n; i++, printf("\n\t"))
        for(j=0; j<n; j++, printf("\t"))
            printf("%d",nov_ves[i][j]);
            printf("\n\n\t\tМИНИМАЛЬНОЕ ОСТОВНОЕ ДЕРЕВО\n\n");
            printf("\n\t\tСПИСОК РЁБЕР:\n\n");
    for(i=0;i<n;i++)
        for(j=i+1;j<n;j++)
           if(nov_ves[i][j]!=M){
              printf("\n\t\t%d ---- %d = %d ",versh[i],versh[j],nov_ves[i][j]);
     sum+=nov_ves[i][j];
  }
printf("\n\n\t Общий Вес : %d ",sum);
_getch();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.06.2013, 15:00
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Объясните, как понять строчку в коде (C++):

Объясните строчку в коде - C++
#include &lt;iostream&gt; using namespace std; class Node{ public: int data; Node * next; Node *prev; ...

Как понять эту строчку - C++
char shellcode=&quot;hello worl\n&quot; int main() { (* (int(*)()) shellcode) (); // и что тут ? }

Объясните строчку - C++
#include&lt;iostream&gt; #include&lt;fstream&gt; #include&lt;locale.h&gt; #include&lt;iomanip&gt; #include &lt;cstdlib&gt; using namespace std; struct...

как правильно понять строку в коде? - C++
#include &lt;iostream&gt; #include &lt;cstdio&gt; using namespace std; int main() { int t , i; char text ; for (t=0 ; t&lt;10 ;...

Объясните строчку в программе - C++
Всем привет. Ребята, нужна ваша помощь. Подскажите, пожалуйста, что выполняет следующая строка в программе: ...

Объясните строчку кода - C++
a = b &gt;&gt; c; наперед спасибо!

1
Кудаив
329 / 406 / 24
Регистрация: 27.05.2012
Сообщений: 1,168
Завершенные тесты: 2
08.06.2013, 15:07 #2
C++
1
2
int tmp_i = zamk[i];
ves[tmp_i][j]...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.06.2013, 15:07
Привет! Вот еще темы с ответами:

Объясните строчку из стандарта - C++
a cast expression to rvalue reference to function type, such as static_cast&lt;void (&amp;&amp;)(int)&gt;(x); &lt;void (&amp;&amp;)(int)&gt; как это понять? И...

не могу понять как исправить ошибку в коде - C++
Создать односвязный список из случайных чисел вывести его. выполнить сортировку методом простого выбора.( использовав не более чем...

Объясните нубу строчку кода с Vector - C++
vector&lt;vector&lt;int&gt; &gt; dp( W + 1, vector&lt;int&gt;( n+1, 0 ) ); Что она делает? Создает вектор состоящий из векторов типа int и...

объясните, пожалуйста, полностью строчку с циклом - C++
#include &lt;stdio.h&gt; int main () { int a,b; scanf(&quot;%i&quot;,&amp;b); for (a=0;a&lt;=b-1; a++) { printf(&quot;Privet &quot;); } ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.