Понедельник, 03.02.2025
Pascal 4 All
[ · Новые сообщения · Участники · Правила форума · Поиск · RSS ]

 

  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: Seqular, Pavel  

Степени вершин
sanya_kstДата: Суббота, 15.11.2008, 19:40 | Сообщение # 1
Новичок
Группа: Пользователи
Сообщений: 9
Репутация: 0
Замечания: 0%
Статус: 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
Репутация: 16
Замечания: 0%
Статус: Offline
Чего же тут объяснять=). Надо для каждой вершины найти количество вершин, до которых проведена грань. Или можно так сформулировать: подсчитать сколько граней выходят из каждой вершины.
Что касается алгоритма- тут задача сводится к такой: подсчитать количество единичек в каждой строчке=). Складываем первые N чисел и получаем ответ для первой строки, затем складываем следующие N чисел- это будет ответ для второй строки и т.д.
Вот так выглядит граф из примера:
Прикрепления: 7499114.jpg (9.2 Kb)


Скажем дружно- нафиг нужно!
 
SeqularДата: Суббота, 15.11.2008, 20:41 | Сообщение # 3
Хранитель
Группа: Администраторы
Сообщений: 859
Репутация: 35
Статус: Offline
sanya_kst, Читать/записывать из/в файлы можешь? Если да, то Alexander изложил суть решения задачи.

Поддерживаю также проект сообщество молодых сисадминов
 
sanya_kstДата: Воскресенье, 16.11.2008, 21:51 | Сообщение # 4
Новичок
Группа: Пользователи
Сообщений: 9
Репутация: 0
Замечания: 0%
Статус: 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
Репутация: 16
Замечания: 0%
Статус: Offline
Quote (sanya_kst)
я сделал, только почему то программа не читает из файла переменные i и j, что не так?

Читает, только зачем их читать? И те переменные, которые объявлены как integer должны быть byte или word.


Скажем дружно- нафиг нужно!
 
sanya_kstДата: Воскресенье, 16.11.2008, 22:07 | Сообщение # 6
Новичок
Группа: Пользователи
Сообщений: 9
Репутация: 0
Замечания: 0%
Статус: Offline
описание матрицы нужно вводить в ручную, а надо чтобы программа читала ее из фала
 
AlexanderДата: Воскресенье, 16.11.2008, 22:14 | Сообщение # 7
Всевышний
Группа: Модераторы
Сообщений: 475
Репутация: 16
Замечания: 0%
Статус: Offline
Quote (sanya_kst)
описание матрицы нужно вводить в ручную, а надо чтобы программа читала ее из фала

А какие характеристики нужно считать, кроме количества вершин?


Скажем дружно- нафиг нужно!
 
sanya_kstДата: Воскресенье, 16.11.2008, 22:25 | Сообщение # 8
Новичок
Группа: Пользователи
Сообщений: 9
Репутация: 0
Замечания: 0%
Статус: Offline
считывать нужно кол-во вершин и описание матрицы
 
AlexanderДата: Воскресенье, 16.11.2008, 22:26 | Сообщение # 9
Всевышний
Группа: Модераторы
Сообщений: 475
Репутация: 16
Замечания: 0%
Статус: Offline
что такое "описание матрицы"?

Скажем дружно- нафиг нужно!
 
AlexanderДата: Воскресенье, 16.11.2008, 22:28 | Сообщение # 10
Всевышний
Группа: Модераторы
Сообщений: 475
Репутация: 16
Замечания: 0%
Статус: Offline
точнее что это в твоём понимании.

Скажем дружно- нафиг нужно!
 
sanya_kstДата: Воскресенье, 16.11.2008, 22:28 | Сообщение # 11
Новичок
Группа: Пользователи
Сообщений: 9
Репутация: 0
Замечания: 0%
Статус: 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
Репутация: 16
Замечания: 0%
Статус: Offline
это сама матрица, а её описание, это количество строк и столбцов. А сама эта матрица- это описание(или задание) графа.
У тебя в коде идёт сначала чтение размера матрицы, затем две какие-то переменные, значение которых нигде не используется, а потом чтение самой матрицы. По идее программа вообще должна вылететь с ошибкой чтения из файла.


Скажем дружно- нафиг нужно!

Сообщение отредактировал Alexander - Воскресенье, 16.11.2008, 22:33
 
sanya_kstДата: Воскресенье, 16.11.2008, 22:35 | Сообщение # 13
Новичок
Группа: Пользователи
Сообщений: 9
Репутация: 0
Замечания: 0%
Статус: Offline
нет все работает, только из файла читает только первую строку
 
AlexanderДата: Воскресенье, 16.11.2008, 22:42 | Сообщение # 14
Всевышний
Группа: Модераторы
Сообщений: 475
Репутация: 16
Замечания: 0%
Статус: Offline
Quote (sanya_kst)
нет все работает, только из файла читает только первую строку

А вижу:
Quote
read(f,tval);

Вот теперь должен быть вылет.


Скажем дружно- нафиг нужно!
 
sanya_kstДата: Воскресенье, 16.11.2008, 22:44 | Сообщение # 15
Новичок
Группа: Пользователи
Сообщений: 9
Репутация: 0
Замечания: 0%
Статус: Offline
Всё я разобрался нужно было вместо read(tval); написать read(f, tval); Спасибо что объяснили как вообще решить эту задачу.

Добавлено (16.11.2008, 15:44)
---------------------------------------------
извините что получилось одно и тоже просто не обновил, из программы не выкидывает

Сообщение отредактировал sanya_kst - Воскресенье, 16.11.2008, 22:45
 
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Copyright MyCorp © 2025
Используются технологии uCoz
javascript:;" rel="nofollow" onclick="loginPopupForm(); return false;