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

Работа со списками ("Нарушение прав доступа записи") - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ построение графиков в С++ http://www.cyberforum.ru/cpp-beginners/thread860083.html
Доброго времени суток. Столкнулась с такой проблемой: нужно построить лежащую параболу. Оси прочертила, разметку сделала, формула для вычисления есть. А вот как результат с этими осями соотнести и представить наглядно - никак не могу понять :( Растолкуйте, пожалуйста.
C++ итераторы в list привет, подскажите как реализовать поиск c двумя циклами в списке: for (list <Mc*>::iterator i = myList.begin (); i != myList . end () - 1; i++) for (list <Mc*>::iterator j = i + 1; j != myList . end (); j++) { } как заменить i + 1 и i - 1? и если из списка удаляется элемент, как потом восстановить итератор, что бы заново можно было кусок кода выше выполнить? http://www.cyberforum.ru/cpp-beginners/thread860080.html
C++ Вызов шаблонной фунции
T pow (int T, int n_) { if (!n_) return 1; T x = x_ ; int n = n_; do { n--; x *= x;
Посмотрите пожалуйста с "list" C++
У меня есть шаблонный список и - тип списка класс . Мне нужно реализовать поиск значения сравнивая с полями класса. Подскажите пожалуйста как можно обратится к одному полю класса. Это как бы вывести все содержимое . for ( it = l.begin(); it != l.end(); it++ ) { cout<<*it; }
C++ Переделать код так, чтобы использовались диапазоны значений с помощью указателей http://www.cyberforum.ru/cpp-beginners/thread860064.html
Мне уже стыдно сюда писать ей богу :wall: . Но есть задача переделать Код№1 так чтобы использовались диапазоны значений с помощью указателей. А функция fill_array() должна возвращать следующий адрес после последнего введенного значения, и это значение должны принимать другие функции как количество элементов функций которые они должны обработать. Код№2 это что я пробовал, но там выводятся адреса...
C++ Программа для считывания содержимого директории (Си -> Си++) #include <stdio.h> #include <dirent.h> int main(int argc, char ** argv) { DIR * d; struct dirent * entry; if (argc != 2) { printf("Использование: %s <директория>\n", argv); return 0; подробнее

Показать сообщение отдельно
SKS-65
5 / 5 / 1
Регистрация: 18.10.2011
Сообщений: 187
09.05.2013, 19:03     Работа со списками ("Нарушение прав доступа записи")
Пишу первый проект по работе с односвязным списком,в программе прописал класс со структурой "список" и методы которые добавляют полезную информацию и выводят её на экран. Я вроде всё там написал,но выдаёт ошибку :"Нарушение прав доступа записи",не могу понять в чём проблема.Вот сам код:
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
116
TKartoteka.h
 
#pragma once
#include "string.h"
class TKartoteka
{
private:
    struct ListItem
    {
char pType[30];
char pFirma[30];
char pDate[30];
bool CD;
int kass;
bool priem;
double price;
short num;
ListItem* next;
ListItem(char* pType,char* pFirma,char* pDate,bool CD,int kass,bool priem,double price,short num,ListItem* n=NULL)
{
    CD=CD;
    kass=kass;
    price=price;
    priem=priem;
    strcpy(pType,pType);
    strcpy(pDate,pDate);
    strcpy(pFirma,pFirma);
    num=num;
    next=n;
}
    };
    ListItem* pStart;
    ListItem* pEnd;
public:
    
    /*ListItem* find(short num);
    void InputEl(char* pType,char* pFirma,char* pDate,bool CD,int kass,bool priem,double price,short num);*/
    void AddLast(char* pType,char* pFirma,char* pDate,bool CD,int kass,bool priem,double price,short num);
    //bool DeleteEl(short num);
    void PrintEl();
    //void PrintOnPrinter();
    ~TKartoteka();
    TKartoteka(){pStart=NULL; pEnd=NULL;}
};
 
TKartoteka.cpp
 
#include "StdAfx.h"
#include "string.h"
#include "TKartoteka.h"
#include "iostream"
using namespace std;
 
 
void TKartoteka::AddLast(char* pType,char* pFirma,char* pDate,bool CD,int kass,bool priem,double price,short num)
{
    ListItem *newItem=new ListItem(pType,pFirma,pDate,CD, kass, priem, price,num);
    if (!pStart)
    {
        pStart=newItem;
        pEnd=newItem;
    }
    else
    {
        pEnd->next=newItem;
        pEnd=newItem;
    }
}
    TKartoteka::ListItem* TKartoteka::find(short num)
    {
        ListItem* ptr=pStart;
        while(ptr)
        {
            if (ptr->num==num)
                return ptr;
            ptr=ptr->next;
        }
        return NULL;
    }
    
 
    void TKartoteka::PrintEl()
    {
        ListItem* ptr=pStart;
        while(ptr)
        {
            cout<<ptr->kass<<" "<<ptr->CD<<" "<<ptr->pFirma<<"\n";
            ptr=ptr->next;
        }
    }
    TKartoteka::~TKartoteka()
    {
        ListItem* ptr=NULL;
        ListItem* next=pStart;
        while (next)
        {
            ptr=next;
            next=next->next;
            delete ptr;
        }
    }
    
LIST.cpp
 
 
#include "stdafx.h"
#include "TKartoteka.h"
#include "conio.h"
 
void main()
{
    TKartoteka res;
    res.AddLast("cbv","ujhg","zritg",1,23,0,123.7,1);   
    res.PrintEl();
    getch();
}
Миниатюры
Работа со списками ("Нарушение прав доступа записи")  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 03:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru