Степени вершин
|
|
sanya_kst | Дата: Суббота, 15.11.2008, 19:40 | Сообщение # 1 |
Новичок
Группа: Пользователи
Сообщений: 9
Статус: Offline
| Входной файл graf.in Выходной файл graf.out Степень вершины графа - это количество ребер, идентичных заданной вершине. неориентированный граф задан матрицей смежности. Определить степень каждой вершины. Кратные ребра и петли отсутствуют. Входные данные. В первой строке записано число N - количество вершин графа. В следующих строках расположено описание матрицы: на пересечении строки i и столбца j записана единица, если вершины i и j соединены ребром, и ноль в противном случае. Выходные данные В выходной файл записать N чисел - степень каждой вершины. Пример graf.in 5 0 1 1 0 1 1 0 1 1 0 1 1 0 0 0 0 1 0 0 1 1 0 0 1 0 graf.out 3 3 2 2 2 Помогите вообще не понимаю как это сделать, и если можно дайте ссылки на литературу по данной теме
Сообщение отредактировал sanya_kst - Суббота, 15.11.2008, 19:41 |
|
| |
Alexander | Дата: Суббота, 15.11.2008, 20:21 | Сообщение # 2 |
Всевышний
Группа: Модераторы
Сообщений: 475
Статус: Offline
| Чего же тут объяснять=). Надо для каждой вершины найти количество вершин, до которых проведена грань. Или можно так сформулировать: подсчитать сколько граней выходят из каждой вершины. Что касается алгоритма- тут задача сводится к такой: подсчитать количество единичек в каждой строчке=). Складываем первые N чисел и получаем ответ для первой строки, затем складываем следующие N чисел- это будет ответ для второй строки и т.д. Вот так выглядит граф из примера:
Скажем дружно- нафиг нужно!
|
|
| |
Seqular | Дата: Суббота, 15.11.2008, 20:41 | Сообщение # 3 |
Хранитель
Группа: Администраторы
Сообщений: 859
Статус: Offline
| sanya_kst, Читать/записывать из/в файлы можешь? Если да, то Alexander изложил суть решения задачи.
Поддерживаю также проект сообщество молодых сисадминов
|
|
| |
sanya_kst | Дата: Воскресенье, 16.11.2008, 21:51 | Сообщение # 4 |
Новичок
Группа: Пользователи
Сообщений: 9
Статус: Offline
| я сделал, только почему то программа не читает из файла переменные i и j, что не так? Code Program stepeni_vershin; var n,tval,summ: integer; i,j: byte; f,f1:text; begin assign(f,'graf.in'); reset(f); assign(f1,'graf.out'); rewrite(f1); readln(f,n,i,j); for i:=1 to n do begin summ:=0; for j:=1 to n do begin read(tval); summ:=summ + tval; end; writeln(f1,summ); end; close(f); close(f1); end.
|
|
| |
Alexander | Дата: Воскресенье, 16.11.2008, 22:01 | Сообщение # 5 |
Всевышний
Группа: Модераторы
Сообщений: 475
Статус: Offline
| Quote (sanya_kst) я сделал, только почему то программа не читает из файла переменные i и j, что не так? Читает, только зачем их читать? И те переменные, которые объявлены как integer должны быть byte или word.
Скажем дружно- нафиг нужно!
|
|
| |
sanya_kst | Дата: Воскресенье, 16.11.2008, 22:07 | Сообщение # 6 |
Новичок
Группа: Пользователи
Сообщений: 9
Статус: Offline
| описание матрицы нужно вводить в ручную, а надо чтобы программа читала ее из фала
|
|
| |
Alexander | Дата: Воскресенье, 16.11.2008, 22:14 | Сообщение # 7 |
Всевышний
Группа: Модераторы
Сообщений: 475
Статус: Offline
| Quote (sanya_kst) описание матрицы нужно вводить в ручную, а надо чтобы программа читала ее из фала А какие характеристики нужно считать, кроме количества вершин?
Скажем дружно- нафиг нужно!
|
|
| |
sanya_kst | Дата: Воскресенье, 16.11.2008, 22:25 | Сообщение # 8 |
Новичок
Группа: Пользователи
Сообщений: 9
Статус: Offline
| считывать нужно кол-во вершин и описание матрицы
|
|
| |
Alexander | Дата: Воскресенье, 16.11.2008, 22:26 | Сообщение # 9 |
Всевышний
Группа: Модераторы
Сообщений: 475
Статус: Offline
| что такое "описание матрицы"?
Скажем дружно- нафиг нужно!
|
|
| |
Alexander | Дата: Воскресенье, 16.11.2008, 22:28 | Сообщение # 10 |
Всевышний
Группа: Модераторы
Сообщений: 475
Статус: Offline
| точнее что это в твоём понимании.
Скажем дружно- нафиг нужно!
|
|
| |
sanya_kst | Дата: Воскресенье, 16.11.2008, 22:28 | Сообщение # 11 |
Новичок
Группа: Пользователи
Сообщений: 9
Статус: Offline
| 0 1 1 0 1 1 0 1 1 0 1 1 0 0 0 0 1 0 0 1 1 0 0 1 0 вот оно
|
|
| |
Alexander | Дата: Воскресенье, 16.11.2008, 22:32 | Сообщение # 12 |
Всевышний
Группа: Модераторы
Сообщений: 475
Статус: Offline
| это сама матрица, а её описание, это количество строк и столбцов. А сама эта матрица- это описание(или задание) графа. У тебя в коде идёт сначала чтение размера матрицы, затем две какие-то переменные, значение которых нигде не используется, а потом чтение самой матрицы. По идее программа вообще должна вылететь с ошибкой чтения из файла.
Скажем дружно- нафиг нужно!
Сообщение отредактировал Alexander - Воскресенье, 16.11.2008, 22:33 |
|
| |
sanya_kst | Дата: Воскресенье, 16.11.2008, 22:35 | Сообщение # 13 |
Новичок
Группа: Пользователи
Сообщений: 9
Статус: Offline
| нет все работает, только из файла читает только первую строку
|
|
| |
Alexander | Дата: Воскресенье, 16.11.2008, 22:42 | Сообщение # 14 |
Всевышний
Группа: Модераторы
Сообщений: 475
Статус: Offline
| Quote (sanya_kst) нет все работает, только из файла читает только первую строку А вижу: Вот теперь должен быть вылет.
Скажем дружно- нафиг нужно!
|
|
| |
sanya_kst | Дата: Воскресенье, 16.11.2008, 22:44 | Сообщение # 15 |
Новичок
Группа: Пользователи
Сообщений: 9
Статус: Offline
| Всё я разобрался нужно было вместо read(tval); написать read(f, tval); Спасибо что объяснили как вообще решить эту задачу. Добавлено (16.11.2008, 15:44) --------------------------------------------- извините что получилось одно и тоже просто не обновил, из программы не выкидывает
Сообщение отредактировал sanya_kst - Воскресенье, 16.11.2008, 22:45 |
|
| |