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

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

Войти
Регистрация
Восстановить пароль
 
kirya
-9 / 2 / 0
Регистрация: 01.06.2012
Сообщений: 87
#1

Списк: однонаправленный список - C++

23.06.2012, 04:54. Просмотров 731. Ответов 11
Метки нет (Все метки)

Друзья, кто может, помогите программку написать, надо чтоб состояло из нескольких файлов (.h, .cpp), вот задание, кто сделает буду очень благодарен:

Комменты к написанию проги: Необходимо организовать список, при этом необходимо написать программу таким образом, чтобы из функции main доступ к списку был возможен только с помощью функций добавления элемента в список, удаления элемента из списка и просмотра содержимого списка. Таким образом, необходимо все функции работы со списком вынести в отдельный файл, и для всех переменных и функции использовать необходимые модификаторы классов памяти.

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

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

Добавить в список элемент после элемента с заданным инф.полем [Однонаправленный список] - C++
Вообщем есть: Функция создание списка Функции вывода на экран Функция добавление элемента с номером k А нужно ввести...

Однонаправленный список - C++
Создать однонаправленную очередь с числами в диапазоне от –50 до +50. Удалить из очереди каждый второй элемент.В конце работы все очереди...

Однонаправленный список - C++
Доброго времени суток! Помогите поправить программу(Однонаправленный список, удалить все положительные элементы кроме последнего). ...

однонаправленный список - C++
Прошу помощи: 1.Написать функцию для создания списка. Функция может создавать пустой список, а затем добавлять в него элементы. ...

однонаправленный список - C++
попалась веселая задачка. "построить функцию преобразующую заданный однонаправленный список в аналогичный список где элементты...

11
David Sylva
1291 / 953 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
23.06.2012, 22:21 #2
Можно сделать так
один файл

C++
1
2
3
4
5
6
7
8
9
10
#include "NNNN.h"
 
int main() 
{  
    add(12); // добавляем элементы
    add(13); 
    add(14); 
    add(15); 
     show(); // выводи на экран
}
Второй файл NNNN.h

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
#include <iostream> 
using namespace std;
 
struct node // узел
{ 
    float data; // вещественное число
    node* next; // указатель на следующий
}; 
 
node* first = NULL; // указатель на начало
 
void add(int d)   // добавляем эдемент
{ 
    node* newnode = new node; 
    newnode->data = d; 
    newnode->next = first; 
    first = newnode; 
}  
 
void del()  // удаляем элементы
{ 
  node* current = first; 
  while(current) 
  { 
      node* temp = current; 
      current = current->next; 
      delete temp; 
  } 
}
 
void show()  // выводм на экран
{ 
    node* current = first; 
    while(current) 
    { 
        cout << current->data << endl; 
        current = current->next; 
    }
}
2
kirya
-9 / 2 / 0
Регистрация: 01.06.2012
Сообщений: 87
24.06.2012, 06:41  [ТС] #3
Слушай, а почему два файла с расширением .h?????

Добавлено через 1 час 26 минут
Ой, прости, не так понял) все норм)
0
nexus777
0 / 0 / 0
Регистрация: 24.06.2012
Сообщений: 19
24.06.2012, 07:04 #4
void del() // удаляем элементы
{
if( node == NULL ) printf("список пуст")//если нечего удалять
else
{
node* current = first;
while(current)
{
node* temp = current;
current = current->next;
delete temp;
}
}
}
0
soon
2542 / 1307 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
24.06.2012, 07:08 #5
nexus777, если список пуст, то и так ничего не удалится. А вы вообще структуру с null сравниваете.
0
nexus777
0 / 0 / 0
Регистрация: 24.06.2012
Сообщений: 19
24.06.2012, 07:12 #6
извеняюсь за безобразие...но проверка списка на пустоту - это необходимый пункт
0
soon
2542 / 1307 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
24.06.2012, 07:14 #7
nexus777, Зачем?
0
nexus777
0 / 0 / 0
Регистрация: 24.06.2012
Сообщений: 19
24.06.2012, 07:15 #8
если у нас уже нет элементов в списке - очень интересно, каким образом мы об этом узнаем)?
0
soon
2542 / 1307 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
24.06.2012, 07:20 #9
nexus777, Если у нас уже нет элементов в списке, [irony]как ни странно[/irony] ничего не произойдет. Зачем нам об этом узнавать? Для этого должен быть метод empty, или, на крайняк, size. Но выводить в общий поток информацию о пустом списке при вызове функции del, после которой в любом случае список будет пустой(чего мы, собственно, и добивались) - бред.
0
nexus777
0 / 0 / 0
Регистрация: 24.06.2012
Сообщений: 19
24.06.2012, 07:26 #10
на самом деле - это просто способ реализации))) Можно метод empty вшить в метод del. А метод del уже сообщает - удалось ли удалить или нет.
0
soon
2542 / 1307 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
24.06.2012, 07:31 #11
на самом деле - это просто способ реализации))
Это просто бред. Позволю себе напомнить вам, что я так и не увидел внятного ответа, почему проверка необходима. Если такового нет, не трудитесь отвечать, мы и так порядком наоффтопили.
0
nexus777
0 / 0 / 0
Регистрация: 24.06.2012
Сообщений: 19
24.06.2012, 07:33 #12
Предотвращение возможной ошибки при программировании.
0
24.06.2012, 07:33
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.06.2012, 07:33
Привет! Вот еще темы с ответами:

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

Однонаправленный список - C++
Организовать ввод в однонаправленный список. Узел списка состоит из двух полей: целое число и указатель. Необходимо удалить из списка...

однонаправленный список - C++
Помогиде дописать программу. Формируется однонаправленный список, заполняется (int). теперь надо как то передрать его и удалить все...

однонаправленный список - C++
чем отличаеться point *p; p=new(point); от p=new point; ???


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

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

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