Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal ABC
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Pascal ABC Вводится последовательность из целых чисел, отличных от нуля http://www.cyberforum.ru/pascalabc/thread2419538.html
Вводится последовательность из целых чисел, отличных от нуля. Ноль является окончанием ввода. Найти наибольшее из всех отрицательных чисел. Если отрицательных чисел нет, то вывести ноль....
Из произвольного целого числа без знака (тип word), вводимого с клавиатуры, путем изменения цифр 0 или 1 в его разрядах Pascal ABC
Из произвольного целого числа без знака (тип word), вводимого с клавиатуры, путем изменения цифр 0 или 1 в его разрядах получить новое число. В работе нельзя использовать массивы для хранения цифр...
Pascal ABC Высота прямоугольного треугольника
Высота прямоугольного треугольника, проведенная из вершины прямого угла, делит гипотенузу на отрезки, один из которых на 11см больше другого. Найдите гипотенузу, если катеты треугольника относятся...
Pascal ABC Работа с массивом и процедурами Друзья надеюсь на вашу помощь никак не могу разобраться. Необходимо составить программу на Pascal по работе с массивом использую процедуры Вот задание: 1)Вычислить произведение элементов массива... http://www.cyberforum.ru/pascalabc/thread2419097.html
Pascal ABC Почему программа не работает и выдает ошибку http://www.cyberforum.ru/pascalabc/thread2419068.html
Здравствуйте, я начинающий програмист и на данный момент работаю над ботом для телеграмма который выводит расписание уроков. Впринципе прописал всё правильно но выдает ошибку. И я не знаю как...
Pascal ABC Дан отрывок программы.Определить чему будет равно значение переменных в течение цикла и после его выполнения если с клав
Дан отрывок программы.Определить чему будет равно значение переменных в течение цикла и после его выполнения если с клавиатуры ввели число C = -100 A:=500; I:=0; readln(c); while c<0 do begin...
Pascal ABC Сортировка методом простого включения
упорядочите элементы двумерного массива по убыванию модулей элементов строк методом простого включения
Pascal ABC Вычислить среднее арифметическое элементов двумерного массива Написать программу которая вводит по строкам с клавиатуры двумерный массив и вычисляет среднее арифметическое его элемен Решите и объясните пожалуйста. http://www.cyberforum.ru/pascalabc/thread2418686.html
Pascal ABC 8 разрядный регистр сдвига http://www.cyberforum.ru/pascalabc/thread2418646.html
Помогите написать 8 разрядный регистр сдвига, позволяющий производить умножение и деление двоичного числа на 2. на я языке pascal
Pascal ABC Создать очередь для символов. Создать функции для ввода и вывода элементов Создать очередь для символов. Максимальный размер очереди вводится с экрана. Создать функции для ввода и вывода элементов очереди. Вводить символы с экрана. В случае совпадения вводимого символа с... http://www.cyberforum.ru/pascalabc/thread2418568.html
tahyuka
0 / 0 / 0
Регистрация: 15.03.2019
Сообщений: 1
0

Алгоритм Прима

15.03.2019, 20:38. Просмотров 236. Ответов 0
Метки (Все метки)

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

В файле t находится матрица и количество вершин
7
0 3 0 0 0 0 4
3 0 0 0 1 0 0
0 0 0 5 0 2 2
0 0 5 0 3 0 0
0 1 0 3 0 0 0
0 0 2 0 0 0 1
4 0 2 0 0 1 0

Сама программа:
Pascal
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
Program Prima;
const n=10;
max=100000;
var 
vt : set of integer;
et : set of integer;
v : set of integer;
i, j, b, c, d, min, w: integer;
t: text;
matrix: array[1..n, 1..n] of integer;
begin
assign(t,'c:\Новая папка\t.txt');
reset(t);
readln(t,b);
for i:=1 to b do
    begin
      for j:=1 to b do
          begin
             read(t,matrix[i,j]);
          end;
    end;
close(t);
begin
min:=max;
w:=0;
vt:=[1];
et:=[];
v:=[2..b];
for i:=1 to b do
for j:=1 to b do
if (matrix[i,j]>0) and (i in vt) and (matrix[i,j]<min) then begin
min:=matrix[i,j]; {вот это место как-то надо додумать}
c:=j;
d:=i;
vt+=[c];
et+=[d,c];
v-=[c];
w:=w+matrix[d,c];
end;
writeln(vt, ' ', et, ' ', v, ' ', w);
end;
end.


Вернуться к обсуждению:
Алгоритм Прима
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.03.2019, 20:38
Готовые ответы и решения:

Алгоритм Прима / Краскала: Соединить все города телефонной связью
Дана плоская страна и в ней n городов. Нужно соединить все города телефонной связью так, чтобы...

Реализовать метод Прима для построения минимального каркаса графа. Исходный граф задан в файле в виде матрицы смежности
Реализовать метод Прима для построения минимального каркаса графа. Исходный граф задан в файле в...

Линейный алгоритм, Алгоритм с ветвлениями, Циклический алгоритм Линейный алгоритм
Линейный алгоритм, Алгоритм с ветвлениями, Циклический алгоритм Линейный алгоритм 1. Объясни, что...

Построить алгоритм ДО и алгоритм ПОКА дя вычислений значения функции на отрезке [а,b] с шагом h. Написать программу
F=3+tg x

Составить алгоритм-вычисление квадрата суммы двух чисел и алгоритм для вычисления функции
Здравствуйте!Мне нужно все с самого начала и точно,помогите пожалуйста! 1.составить...

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