Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
Бубалёх
0 / 0 / 1
Регистрация: 01.12.2010
Сообщений: 34
08.06.2013, 15:00     Объясните, как понять строчку в коде #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();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.06.2013, 15:00     Объясните, как понять строчку в коде
Посмотрите здесь:

не могу понять как исправить ошибку в коде C++
C++ Ошибка в коде не могу понять в чем
C++ Объясните нубу строчку кода с Vector
C++ Объясните строчку в коде
Где ошибка в коде?Не могу понять C++
Объясните строчку в программе C++
Объясните строчку C++
C++ Объясните, пожалуйста, строчку var %= 1000

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Кудаив
329 / 406 / 24
Регистрация: 27.05.2012
Сообщений: 1,163
Завершенные тесты: 2
08.06.2013, 15:07     Объясните, как понять строчку в коде #2
C++
1
2
int tmp_i = zamk[i];
ves[tmp_i][j]...
Yandex
Объявления
08.06.2013, 15:07     Объясните, как понять строчку в коде
Ответ Создать тему
Опции темы

Текущее время: 02:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru