Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Не корректно работает программа (Упорядочить элементы матрицы) https://www.cyberforum.ru/ cpp-beginners/ thread721137.html
Условие: Дана матрица целых чисел N* M.Упорядочить элементы матрицы так чтобы четные элементы матрицы максимально плотно заняли верхнюю часть матрицы,а не четные нижнюю. Код: #include <iostream>...
C++ уплотнение памяти
помогите исправить ошибку в коде. условие: Реализовать заданную стратегию управления памятью. Реализовать базовые операции управления оперативной памятью. - Выделение блока памяти заданного...
C++ Прочитать неограниченное количество строк, а после нажатия Enter выйти из цикла https://www.cyberforum.ru/ cpp-beginners/ thread721113.html
Здравствуйте. Столкнулся с такой проблемой: необходимо прочитать неограниченное количество строк, а после нажатия Enter выйти из цикла. Делаю так: #include <iostream> #include <string> using...
C++ Замена чисел в строке https://www.cyberforum.ru/ cpp-beginners/ thread721111.html
условие: в строке заменить все числа на введенное с клавиатуры выдает ошибку: Unsigned(c+1)<=256. вот код: #include<iostream> using namespace std; void main() { setlocale(LC_ALL,"rus");...
C++ не запускается программа, выводящая содержимое файла
Эта программа по идее должна выводить на экран содержимое произвольно заданного файла, но не запускается дальше того, как вводится название файла( В чем ошибка? #include "iostream.h" #include...
C++ Найти площадь пятиугольника Даны вещественные числа а, b, с, d, e. Найти площадь пятиугольника, изображенного на рис.2. (Определить функцию для расчета площади треугольника по трем его сторонам.) только чтобы на с++. или на... https://www.cyberforum.ru/ cpp-beginners/ thread721094.html
C++ Нужно поправить программу (тема - функции) Дан интервал натуральных чисел . Напечатать на экране все те числа, которые принадлежат этому интервалу и которые можно выразить как сумму квадратов двух натуральных чисел (используя функцию, которая... https://www.cyberforum.ru/ cpp-beginners/ thread721084.html Считать последний символ файла. Записать символ в конец файла C++
Есть файл. Нужно сначала дописать в его конец один символ, а затем его считать. Как это сделать? Подскажите!
C++ Поменять части матрицы(из файла) местами с использованием функции https://www.cyberforum.ru/ cpp-beginners/ thread721071.html
Дана задача: Даны: n - переменная величина а(2n*2n) - матрица, разбитая на 4 равных части размером n*n ...........|........... ....1.....|.....2.... ...........|..............
C++ Чтение из файла в массив до разделителя https://www.cyberforum.ru/ cpp-beginners/ thread721059.html
Добрый вечер! #include <fstream.h> #include <iostream.h> #include <stdlib.h> #define STOP "---" main () { int nt,i=0; ifstream f; f.open("kurs.txt"); while (!f.eof())
C++ Вычислить значение функции на интервале [-1,1] с шагом 0,1
Я совсем измучился делать ее... Функцию арктангенс я разложил в ряд Тейлора. И теперь я ее вычисляю её на интервале с шагом 0,1. Сходимость ряда с точностью до 0,001 знака. Проблема в том что,если...
C++ Найти наибольший элемент массива A, меньший произведения элементов с нечетными номерами https://www.cyberforum.ru/ cpp-beginners/ thread721053.html
Вобщем, вот моя программа : (В ней что - то не так, подскажите пожалуйста как её можно доработать!! Мой преподаватель же мне ничего не хочет пояснять.) #include <iostream> #include <iomanip> ...
3 / 3 / 3
Регистрация: 04.11.2009
Сообщений: 98
0

Абстрактные структуры данных - C++ - Ответ 3810043

06.12.2012, 06:18. Показов 1442. Ответов 1
Метки (Все метки)

добрый вечер всем. Не понимаю как реализовать функцию insert(x,p,L), где элемент х вставляется в позицию р списка L, смог добиться только удаления элементов.
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
// linklist.cpp
// список
#include <iostream>
#include <conio.h>
using namespace std;
///////////////////////////////////////////////////////////
struct link   // один элемент списка
{
  int data;   // некоторые данные
  link* next; // указатель на следующую структуру
} ;
///////////////////////////////////////////////////////////
class linklist // список
{
  private:
    link* first;
  public:
    linklist ( )            // конструктор без параметров
      { first = NULL; }     // первого элемента пока нет
    void additem ( int d ); // добавление элемента
    void display ( );       // показ данных
    void del(int p); // функция удаления
};
///////////////////////////////////////////////////////////
void linklist::additem ( int d ) // добавление элемента
{
  link* newlink = new link;      // выделяем память
  newlink->data = d;             // запоминаем данные
  newlink->next = first;         // запоминаем значение first
  first = newlink;               // first теперь указывает на новый элемент
}
///////////////////////////////////////////////////////////
void linklist :: del(int p)
     {
    link* current = first;
    link*  pred;                             // указывает на начало
      int k=0;
    while(current) // выход по достижении последнего элемента
    {
         pred=current;
        current = current->next; // следующая ссылка
         k++;
         if (k==p)
         { pred->next=current->next;
         delete current;
         break;
         }
 
    }
}
 
 
///////////////////////////////////////////////////////////
void linklist::display ( )
{
  link* current = first;           // начинаем с первого элемента
  while( current )                 // пока есть данные
  {
    cout << current->data << endl; // печатаем данные
    current = current->next;       // двигаемся к следующему элементу
  }
}
///////////////////////////////////////////////////////////
 
 
///////////////////////////////////////////////////////////
int main ( )
{   int el,n,k;
  linklist li;       // создаем переменную-список
  cout<<"input number of element";
  cin>>n;
 
  while (n>0)
  {
     cout<<"input current element";
     cin>>el;
     li.additem ( el ); // добавляем туда несколько чисел
     n--;
  }
 /* li.additem ( 25 ); // добавляем туда несколько чисел
  li.additem ( 36 );
  li.additem ( 49 );
  li.additem ( 64 );    */
 
  li.display ( );
   cout<<"delet element";
     cin>>k;             // показываем список
  li.del(k); // удаляем
    li.display ( );
   getch();
  return 0;
}
Добавлено через 3 часа 7 минут
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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
#pragma hdrstop
 
//---------------------------------------------------------------------------
 
#pragma argsused
//---------------------------------------------------------------------------
// linklist.cpp
// список
#include <iostream>
#include <conio.h>
using namespace std;
///////////////////////////////////////////////////////////
struct link   // один элемент списка
{
  int data;   // некоторые данные
  link* next; // указатель на следующую структуру
} ;
///////////////////////////////////////////////////////////
class linklist // список
{
  protected:
 link* FTop;
 int FCount;
  private:
    link* first;
  public:
    linklist ( )            // конструктор без параметров
      { first = NULL; }     // первого элемента пока нет
    void additem ( int d ); // добавление элемента
    void display ( );       // показ данных
    //void del(int p); // функция удаления
    void insert (int a,link* p);
};
///////////////////////////////////////////////////////////
void linklist::additem ( int d ) // добавление элемента
{
  link* newlink = new link;      // выделяем память
  newlink->data = d;             // запоминаем данные
  newlink->next = first;         // запоминаем значение first
  first = newlink;               // first теперь указывает на новый элемент
}
///////////////////////////////////////////////////////////
/*void linklist :: del(int p)
     {
    link* current = first;
    link*  pred;                             // указывает на начало
      int k=0;
    while(current) // выход по достижении последнего элемента
    {
         pred=current;
        current = current->next; // следующая ссылка
         k++;
         if (k==p)
         { pred->next=current->next;
         delete current;
         break;
         }
 
    }
}           */
void linklist::insert (int a, link* p)
{
 
 link* work, *work1, *work2;
 work = FTop;
 while (work->next->next != p)
 work = work->next;
 work2 = work->next;
 work1 = new link;
 work1->data = a;
 work1->next = work2;
 work = work1;
 FCount++;
}
 
 
///////////////////////////////////////////////////////////
void linklist::display ( )
{
  link* current = first;           // начинаем с первого элемента
  while( current )                 // пока есть данные
  {
    cout << current->data << endl; // печатаем данные
    current = current->next;       // двигаемся к следующему элементу
  }
}
///////////////////////////////////////////////////////////
 
 
///////////////////////////////////////////////////////////
int main ( )
{   int el,n,k;
  linklist li;     // создаем переменную-список
  cout<<"input number of element";
  cin>>n;
  while (n>0)
  {
     cout<<"input current element";
     cin>>el;
     li.additem ( el ); // добавляем туда несколько чисел
     n--;
  }
 /* li.additem ( 25 ); // добавляем туда несколько чисел
  li.additem ( 36 );
  li.additem ( 49 );
  li.additem ( 64 );    */
 
  li.display ( );
   cout<<"vvod adresa";
     cin>>k;           // показываем список
  li.insert(9,k);
    li.display ( );
   getch();
  return 0;
}
почти уверен что функция инсерт правильна, но задействовать ее не могу.

Вернуться к обсуждению:
Абстрактные структуры данных C++
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.12.2012, 06:18
Готовые ответы и решения:

Понятие структуры данных. Элементарные структуры данных. Простые структуры данных
Понятие структуры данных. Элементарные структуры данных. Простые структуры данных: методы...

Абстрактные типы данных
Реализуйте работу с текстовым файлом, как с однонаправленным списком символов.

Абстрактные типы данных
Начинаю с абстрактного класса: class myQueue : public List { } А дальше что, не подскажите?

Абстрактные типы данных. Струкутра
Задать массив структур каждая из которых содержит данные об автомобиле: название модели, год...

1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.12.2012, 06:18
Помогаю со студенческими работами здесь

Абстрактные типы данных. Простые уравнения
Реализовать абстрактные типы данных и операции над ними. Простые уравнения. те. вычисления...

Зачем нужны абстрактные классы и абстрактные методы?
Приветствую всех. Нужна помощь. Узнал про существование абстрактных классов и методов. Вопрос:зачем...

абстрактные типы данных на языке С#
Данные об экспортируемых товарах включают наименование товара, страну, импортирующую товар и объем...

Абстрактные модели данных, аналогично Qt
Всем привет. Вопрос сугубо теоретический, особенно к тем, к тем, кто знает Qt. Во фреймворке...

Абстрактные типы данных: список, стек, очередь
Всем привет прошу помощи, задали задания, но я вообще не понимаю каким образом это решать (т.к...

Динамические структуры данных. Организация данных в списковые структуры
Написать программу, формирующую два списка, заполняя их числами из файлов. Объединить оба списка в...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru