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

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

Войти
Регистрация
Восстановить пароль
 
kuziynia
0 / 0 / 0
Регистрация: 24.03.2011
Сообщений: 2
#1

односвязный список - C++

27.03.2011, 18:52. Просмотров 279. Ответов 0
Метки нет (Все метки)

Помогите, пожалуйста, реализовать функции нахождения максимума в списке "bahroma" по весу ребер "ves_rebra" и дальнейшее удаление этого ребра со списка. Вот код формирования списка:

#include <iostream>
#include <stdlib.h>
#include <string.h>
using namespace std;


struct bahroma
{
int ishod_versh;
int versh_nazn;
int ves_rebra;
void print()
{
cout <<ishod_versh<<"\t"<<versh_nazn<<"\t"<<ves_rebra<<"\n";
}
};

template <class Item, class Key> class List
{
private:
struct node
{
Item *item;
node* next;
node(Item *x) { item=x; next=0; } //Конструктор структуры node
};
typedef node *link;
link head, tail;
link now_node;
public:
List() //Конструктор класса List
{
head=0; tail=0;
}
void add(Item *x)
{
link t = new node(x);

if(tail!=0)
{
//СПИСОК уже НЕ ПУСТ
tail->next = t;
tail = t;
} else
{
head = tail = t;
}
}
Item *iterator(int x)
{
if (!x) now_node = head;
else now_node = now_node->next;

if (now_node) return now_node->item;
return 0;
}


void print()
{
for(link i=head; i!=0; i=i->next)
i -> item -> print();
}
/* int lstmax(Item *x) //ф-я нахождения максимума
{
int max = 0;

if (t != 0)
max = t->ves_rebra;

while (t != 0) {
if (max < t->ves_rebra)
max = t->ves_rebra;
t = t->next;
}
return max;
}*/
};

int main()
{

int n=5; //количество вершин графа
int A [n][n]; //матрица смежности и вес ребер
for (int i=0; i<n; i++)
{
for (int j=0; j<n; j++)
{
A [i][j]=rand()%2; //случайное заполнение массива 0 и 1
if (A [i][j]==1) //если элемент=1
{
A [i][j]=rand()%5+1; //присваиваем случайное значение от1 до 5
}
cout<<A[i][j]<<" "; //печать элементов строки
}
cout<<endl;
}
cout<<endl;

int s=1; //стартовая вершина обхода графа
int B [n]; //одномерный массив-вектор порядка посещения вершин
int k; //индекс вектора обхода В
while (int j=s) // пока j=s
{
for (int i=0; i<n; i++) //обход по строке
{
cout<< A[j][i]<<endl; //печать элементов строки
if (A[j][i]!=0)
{
for (int b=0; b<n; b++)
{
bahroma b={j, i, A[j][i]};
List<bahroma,int> list_1;
list_1.add(&b);
list_1.print();
//list_1.lstmax(&b); //использование ф-ии для данных бахромы с весом ребер
break;
}
}
}
cout<<endl;
break; //выход

}

return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.03.2011, 18:52
Здравствуйте! Я подобрал для вас темы с ответами на вопрос односвязный список (C++):

Сформировать список из 10 книг, используя динамическую структуру данных односвязный список - C++
друзья спасайте Сформировать список из 10 книг, используя динамическую структуру данных односвязный список С++

Создать двусвязный список групп факультета, где каждая группа представляет собой односвязный список студентов - C++
Задание: создайте двусвязный список групп факультета. Каждая группа представляет собой односвязный список студентов. Помогите пожалуйста,...

Задали односвязный линейный список с целыми числами. Создать новый список, который содержит элементы заданного списка в обратном порядке - C++
Задали односвязный линейный список с целыми числами. Создать новый список, который содержит элементы заданного списка в обратном порядке.

Односвязный список - C++
Всем привет. Помогите разобраться с односвязным списком. Вот собственно и вопросы: 1) Если я правильно понял то список это чтото вроде...

Односвязный список - C++
Есть связной список. У класса есть метод добавления элементов(additem()). Надо исправить метод, чтобы он добавлял элемент не в начало, а в...

односвязный список - C++
Доброго времени суток! У меня такой вопрос: нужно разработать класс, реализующий линейный односвязный список. Методы класса: добавление...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.03.2011, 18:52
Привет! Вот еще темы с ответами:

Односвязный список - C++
как в односвязном списке сделать проверку на одинаковые элементы? и если они есть, удалить один из них.

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

Односвязный список - C++
Посмотрите программу, правильно ли я вывожу список? Почему список выводится только из 7 цифр, и как можно написать с помощью функций?...

Односвязный Список - C++
Как реализовать список в этом коде, необязательно писать код буду благодарен за совет или подсказку! #include &quot;stdafx.h&quot; #include...


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

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

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