|
1 / 1 / 0
Регистрация: 09.09.2013
Сообщений: 41
|
|
Подскажите, где ошибки в программе27.10.2013, 21:40. Показов 747. Ответов 6
Метки нет (Все метки)
#include <conio.h>//підключеннябібліотек
#include <stdio.h> #include <string.h> #include <stdlib.h> class Och//класочередь { private://закриті полякласу struct Node//структура вузол { int d;//поле дані Node *p;//покажчик на кінцевийелемент }; Node *ft;//перший елемент очереди Node *last;//останнійелемент очереди int count;//полелічильник void add(Node **pend, int d) { Node *pv = new Node; pv->d = d; pv->p = 0; (*pend)->p = pv; *pend = pv; } public://поля класу Och()//конструктор по замовчуванню { ft = last = 0;//ініціалізаціязмінних count = 0;//ініціалізаціязміннихлічильник на нуль } Och(int *s)//з параметрами { count = 0;//показчик на нуль встановлюємо Node *p; add(&p,*s);//додаэмоелемент } Och(const Och &sender)//конструкторкопіювання { count = 0;//показчик на 0 Node *p; Node *it = sender.ft; while(it)//покиіт правда тобто не дорівнює нулю { add(&it->p,it->d);//додаємоелемент } } Och * first(int d) { Node *pv = new Node; pv->d = d; pv->p = 0; return pv; } Node &operator + (Node **pend,int pv)//оператордодаваняелементу { Node *pv = new Node; //показник pv->d = d; //двигаємопопередуелемент pv->p = 0; //а новийставимо на першу позицію (*pend)->p = pv; *pend = pv; } Node* operator -(Node **pbeg)//видалитиелемент { int temp = (*pbeg)->d; //елементзаписуемоякийпотрібенвийти Node *pv = *pbeg; //записуемо той який стане останнімтобто першим якийвийде *pbeg = (*pbeg)->p; delete pv; //видаляємоелементякийвийшов } bool operator()(const Och &sender)//оператор перевірки на порожністьчерги { Node *it1 = ft;//показчик на 1 елементоб,єкта if(it1->d != NULL) return true;//якщоякщочерганепуста то повернення 0 return false;//якщо пуста то повернення 1 } void Print()//вивідчерги на екран { Node *it = ft;//поставити на 1 елемент while(it)//покиит правда { printf("%c", it->d);//виводемосимволи з черги it = it->p;//рухаємося до наступного } printf("\n");//перенос строки } }; void main() { Och *pbeg; pbeg->first(1); //створеннячерги Och *pend = pbeg; //початок черги for (int i = 2; i<6; i++) // pend +(&pend, i); //додаванняелементу в чергу while (pbeg) printf("%d",-(&pbeg)); //видаленняелемента в з черги _getch(); } Буду очень благодарна!!! Добавлено через 52 минуты Уже такой код: #include <conio.h>//підключеннябібліотек #include <stdio.h> #include <string.h> #include <stdlib.h> class Och//класочередь { private://закриті полякласу struct Node//структура вузол { int d;//поле дані Node *p;//покажчик на кінцевийелемент }; Node *ft;//перший елемент очереди Node *last;//останнійелемент очереди int count;//полелічильник void add(Node **pend, int d) { Node *pv = new Node; pv->d = d; pv->p = 0; (*pend)->p = pv; *pend = pv; } public://поля класу Och()//конструктор по замовчуванню { ft = last = 0;//ініціалізаціязмінних count = 0;//ініціалізаціязміннихлічильник на нуль } Och(int *s)//з параметрами { count = 0;//показчик на нуль встановлюємо Node *p; add(&p,*s);//додаэмоелемент } Och(const Och &sender)//конструкторкопіювання { count = 0;//показчик на 0 Node *p; Node *it = sender.ft; while(it)//покиіт правда тобто не дорівнює нулю { add(&it->p,it->d);//додаємоелемент } } Och * first(int d) { Node *pv = new Node; pv->d = d; pv->p = 0; return pv; } Node &operator+ (Node **pend,int pd)//оператордодаваняелементу { Node *pv = new Node; //показник pv->d = d; //двигаємопопередуелемент pv->p = 0; //а новийставимо на першу позицію (*pend)->p = pv; *pend = pv; } Node* operator -(Node **pbeg)//видалитиелемент { int temp = (*pbeg)->d; //елементзаписуемоякийпотрібенвийти Node *pv = *pbeg; //записуемо той який стане останнімтобто першим якийвийде *pbeg = (*pbeg)->p; delete pv; //видаляємоелементякийвийшов } bool operator()(const Och &sender)//оператор перевірки на порожністьчерги { Node *it1 = ft;//показчик на 1 елементоб,єкта if(it1->d != NULL) return true;//якщоякщочерганепуста то повернення 0 return false;//якщо пуста то повернення 1 } void Print()//вивідчерги на екран { Node *it = ft;//поставити на 1 елемент while(it)//покиит правда { printf("%c", it->d);//виводемосимволи з черги it = it->p;//рухаємося до наступного } printf("\n");//перенос строки } }; void main() { Och *pbeg; pbeg->first(1); //створеннячерги Och *pend = pbeg; //початок черги for (int i = 2; i<6; i++) // pend +(&pend, i); //додаванняелементу в чергу while (pbeg) printf("%d",-(&pbeg)); //видаленняелемента в з черги _getch(); }
0
|
|
| 27.10.2013, 21:40 | |
|
Ответы с готовыми решениями:
6
Где ошибки в программе? Чего не хватает? Подскажите, где ошибка в программе Подскажите кто может и найдите ошибки в программе)) |
|
Заблокирован
|
|
| 27.10.2013, 21:43 | |
|
какая ошибка то ?
Не по теме: ты хохлушка? :D
0
|
|
|
1 / 1 / 0
Регистрация: 09.09.2013
Сообщений: 41
|
|
| 27.10.2013, 21:51 [ТС] | |
|
error C2804: бинарный 'operator +' имеет слишком много параметров
1>c:\documents and settings\userxp\рабочий стол\новая папка (2)\as\as\2.cpp(57) : error C2333: Och::operator +: ошибка в объявлении функции; пропуск основного текста функции 1>c:\documents and settings\userxp\рабочий стол\новая папка (2)\as\as\2.cpp(55) : error C2440: return: невозможно преобразовать 'Och::Node *' в 'Och *' 1> Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции 1>c:\documents and settings\userxp\рабочий стол\новая папка (2)\as\as\2.cpp(98) : warning C4552: +: оператор не имеет результата; требуется оператор с побочным действием 1>c:\documents and settings\userxp\рабочий стол\новая папка (2)\as\as\2.cpp(100) : error C2171: -: недопустимо для операндов типа "Och **" Добавлено через 5 минут а ты нацист чтоль?
0
|
|
|
Заблокирован
|
||
| 27.10.2013, 21:53 | ||
|
По поводу твоей программы - те ж компилятор говорит в чём ошибка. Тебе что то не ясно?
0
|
||
|
1 / 1 / 0
Регистрация: 09.09.2013
Сообщений: 41
|
|
| 27.10.2013, 22:01 [ТС] | |
|
как их исправить
0
|
|
|
Заблокирован
|
|||
| 27.10.2013, 22:10 | |||
![]() printf("%d",-(&pbeg)); - тут минус убери { Node *pv = new Node; //показник pv->d = d; //двигаємопопередуелемент pv->p = 0; //а новийставимо на першу позицію (*pend)->p = pv; *pend = pv; } тут ваше надо передавать в функцию указатель на самого себя ианче как ты представляешь себе использование переопределённого оператора.... ДА много тут ошибок....
0
|
|||
|
1 / 1 / 0
Регистрация: 09.09.2013
Сообщений: 41
|
|
| 27.10.2013, 22:19 [ТС] | |
|
Нужно создать класс- абстрактного типа данных. Определить и реализовать операции над данными этого класса. Написать прогу для полного тестирования класса.
Класс должен быть как Очередь. В нем операции + это добавить элемент; - убрать элемент; bool() - проверка пуста ли очередь.
0
|
|
| 27.10.2013, 22:19 | |
|
Помогаю со студенческими работами здесь
7
Подскажите где ошибки.. Очень нужен совет где найти ошибки в программе структуры подскажите где ошибки структуры (подскажите где ошибки) Подскажите где в программе может быть ошибка Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|