Форум программистов, компьютерный форум CyberForum.ru

Односвязный список.Функция удаления - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Определить сумму элементов строки http://www.cyberforum.ru/cpp-beginners/thread1038102.html
Дан двумерный массив действительных чисел. Определить сумму элементов строки, в которой расположен элемент с наименьшим значением. //Двумерный массив задавать как динамический. Добавлено через 56 минут Помогите.
C++ Найти сумму всех целых чисел от а до b Пожалуйста, подскажите как правильно оформить в с++ такие задачи 1)Найти сумму всех целых чисел от а до b (значения а и b вводятся с клавиатуры; b>a) 2) Рассчитать значения z для значений а, равных 2,3,... 17: z=3,5t-7t+16, где t=4а http://www.cyberforum.ru/cpp-beginners/thread1038086.html
Подскажите в условных операторах C++
подскажите пожалуйста Даны три вещественных числа. Вывести на экран: а) те из них, которые принадлежат интервалу (а-b), б)те из них, которые принадлежат интервалу (c-d)
Построить таблицу функции y C++
1. Решить с помощью подпрограммы - функции Даны две квадратные матрицы A, B 3-го порядка. Построить таблицу функции y = cx2 + d при х меняющемся от 0 до 1 с шагом 0.1, где с = sp(A), d = sp(B). (sp(A) - след матрицы А - сумма элементов главной диагонали).
C++ составить программу вычисления значения z при любых значениях x и y http://www.cyberforum.ru/cpp-beginners/thread1038077.html
Подскажите как составить программу вычисления значения z при любых значениях x и y:
C++ Двумерные массивы (квадратная матрица) Осуществить циклический сдвиг элементов квадратной матрицы размером М Х N вправо на k элементов таким образом: элементы первой строки сдвигаются в последний столбец сверху вниз, из него – в последнюю строку справа налево, из нее – в первый столбец снизу вверх, из него – в первую строку; для остальных элементов – аналогично. Вывод матрица (код): #include <cstdlib> #include <iostream>... подробнее

Показать сообщение отдельно
Sivilan
6 / 6 / 0
Регистрация: 17.03.2013
Сообщений: 66
12.12.2013, 00:31     Односвязный список.Функция удаления
Здравствуйте.Пытался организовать функцию удаления,но не получилось,добавлял цикл для начального заполнения,а потом удаления,не вышло.Помогите с функцией удаления.Еще дайте идею,как можно предусмотреть сортировку элементов списка без перестановки самих элементов.Спасибо.
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
#include <iostream>
using namespace std;
struct foot
{
    int mesto;
    foot *next;
};
void menu ()
{
    cout<<endl<<"Viberite nomer deistviya";
    cout<<endl<<"1.Zapolnit' tyrnirnuy tablicy";
    cout<<endl<<"2.Pokazat' tyrnirnuy tablicy";
    cout<<endl<<"3.Ydalit' elementi tyrnirnuy tablici ";
    cout<<endl<<"4.Perestavit' elementi  tablici bez ih perestanovki";
 
}
 foot *add(foot *first, int m )
 {
     if (first==NULL)
 { foot *t=new foot;
  t->mesto=m;
  t->next=NULL;
  }
  else
  {
   foot *adr;
   adr=first;
   while (adr->next!=NULL)
   {
       adr=adr->next;
   }
   adr->next=new foot;
   adr=adr->next;
   adr->mesto=m;
   adr->next=NULL;
 
return first;
 
  }
  }
void show( foot *first)
{
 while (first!=NULL)
 {
  cout<<endl<<first->mesto;
  first= first->next;
 }
}
 void del(foot*first,int m)
{
    foot *adr1,*adr2;
    adr1=first;
    if (adr1->mesto==m)
    {
        first=adr1->next;
        delete adr1;
    }
    else
    {
        while (adr1->next->mesto!=m)
        {
            adr1=adr1->next;
        }
        adr2=adr1->next;
        adr1->next=adr1->next->next;
        delete adr2;
    }
}
 int main ()
 {  int i,j,m,a,e;
 foot *first=NULL;
    cout<<"Vvedtie kolichestvo komand"<<endl;
    cin>>j;
        menu();
        cout<<":"<<endl;
         cin>>a;
        for (i=0;i<j;i++){
    switch (a){
    case 1:
         cout<<"Element:"<<endl;
         cin>>m;
         first=add(first,m);
         break;
         case 2:
         cout<<"Snachala dobav'te elemnti:"<<endl;
         cin>>m;
         first=add(first,m);
         show(first);
         break;
         case 3:
        first=add(first,m);
        del (first,m);
        break;
        }
 }
 }
Добавлено через 14 минут
с функцией все в порядке,но когда выполняю,компиляция прекращает работу,думаю из-за того,что введенный не хватает введенных элементов,но как выполнить правильный вызов с case.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 10:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru