Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 21.03.2010
Сообщений: 9

Ввод монома. Ошибка при выводе.

23.10.2011, 18:31. Показов 2163. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Помогите, пожалуйста, разобраться.
Задача в том, чтобы ввести моном и затем вывести его.
Прога компилится, но при вводе Coef (например 2) выскакивает ошибка AccessViolation. Помогите, пожалуйста, найти проблемное место и понять, почему так происходит.
Заранее огромное спасибо


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
#include <conio>
#include <iostream>
using namespace std;
int N1,N2; // количество мономов в 1 и 2 полиноме соответственно
 
class MONOM
{
public:
    float Coef; // коэффициент
    int Index; // индекс
    int d_x,d_y,d_z; // степени x,y и z соответственно
    MONOM()  // создание пустого монома
    {
        MONOM *m=new MONOM;
        m->Coef=0;
        m->Index=-1;
        m->d_x=0;
        m->d_y=0;
        m->d_z=0;
    };
    ~MONOM()
    {
        MONOM *m;
        delete m;
    };
    MONOM set_monom()
    {
        MONOM *m;
        int x,y,z,c;
        cout << "\nVvedite Coef:";
        cin >> c;
        m->Coef=c;
        cout << "\nVvedite X degree:";
        cin >> x;
        m->d_x=x;
        cout << "\nVvedite Y degree:";
        cin >> y;
        m->d_y=y;
        cout << "\nVvedite Z degree:";
        cin >> z;
        m->d_z=z;
        m->Index=100*d_x+10*d_y+d_z;
        return *m;
    };
    void print_monom()
    {
        MONOM *m;
        int dx,dy,dz,c;
        c=m->Coef;
        dx=m->d_x;
        dy=m->d_y;
        dz=m->d_z;
        cout << "Vash Monom:";
        cout << c;
    };
};
 
// Main
int main()
{
MONOM *monom1;
monom1->set_monom();
monom1->print_monom();
return 0;
getch();
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.10.2011, 18:31
Ответы с готовыми решениями:

Ошибка при выводе
Не могу найти ошибку в цикле. Суть такая: &quot;вывести на дисплей фамилии и номера групп для всех студентов, включенных в массив, имеющих хотя...

Ошибка при выводе IP
С виду самая примитивная программка при нажатии на кнопку выводит IP адрес сетевой карты в Edit, но выдает ошибку при компилировании. На...

Ошибка при выводе из бд
Здравствуйте, есть сайт, нужно вывести меню сайта из базы данных, вот код &lt;?php $categories = mysql_query($connection, &quot;SELECT...

4
 Аватар для aeshes
448 / 211 / 21
Регистрация: 07.10.2011
Сообщений: 462
23.10.2011, 22:39
Цитата Сообщение от dartmall Посмотреть сообщение
MONOM *m=new MONOM;
что это за временные объекты в конструкторе, деструкторе и других методах?
Попробуй так:
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
#include <iostream>
using namespace std;
int N1,N2; // количество мономов в 1 и 2 полиноме соответственно
 
class MONOM
{
public:
        float Coef; // коэффициент
        int Index; // индекс
        int d_x,d_y,d_z; // степени x,y и z соответственно
        MONOM()  // создание пустого монома
        {
                Coef=0;
                Index=-1;
                d_x=0;
                d_y=0;
                d_z=0;
        };
        ~MONOM() { };
        void set_monom()
        {
                cout << "\nVvedite Coef:";
                cin >> Coef;
                cout << "\nVvedite X degree:";
                cin >>d_x;
                cout << "\nVvedite Y degree:";
                cin >> d_y;
                cout << "\nVvedite Z degree:";
                cin >> d_z;
                Index=100*d_x+10*d_y+d_z;
        };
        void print_monom()
        {
                cout << "Vash Monom:";
                cout << Coef<<" "<<Index<<" "<<d_x<<" "<<d_y<<" "<<d_z<<endl;
        };
};
 
// Main
int main()
{
MONOM *monom1=new MONOM;
monom1->set_monom();
monom1->print_monom();
return 0;
 
}
1
0 / 0 / 0
Регистрация: 21.03.2010
Сообщений: 9
23.10.2011, 22:55  [ТС]
Спасибо большое, это здорово, конечно. Но это я просто кусочки общей задачи тренируюсь делать. На самом деле мне нужно создать программу, которая реализует полиномы, представленные в виде списка, элементами которого являются мономы. Виноват, что раньше не сказал.
И, как я понимаю, для дальнейшей реализации, мне на выходе из set_monom желательно иметь сформированный моном, чтобы потом, используя другие функции, добавить его в полином.

Посоветуйте, пожалуйста, как всё лучше оформить, или что можно почитать мне. Ато и погуглил и в Шилдте посмотрел с Архангельским и мало чего нашел. Мне бы примерчик посмотреть. Заранее спасибо
0
 Аватар для aeshes
448 / 211 / 21
Регистрация: 07.10.2011
Сообщений: 462
23.10.2011, 23:22
На выходе из set_monom у тебя и так готовый моном, потому что set_monom является методом класса MONOM и вызывается для уже существующего экземпляра этого класса, как в твоей функции main. У тебя есть указатель на объект класса MONOM, выделена память под объект и для этого объекта ты и вызываешь метод set_monom. Ты можешь создавать сразу объект класса и для него вызывать этот метод (и тоже получать сформированный моном):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
//тут класс MONOM
int main()
{
   MONOM m1, m2,m3; //это твои разные мономы
   m1.set_monom();
   m2.set_monom();
   m3.set_monom();
   m1.print_monom();
   m2.print_monom();
   m3.print_monom();
//если опишешь класс Полином, то тут ты сможешь использовать какой-то его метод для добавления
//созданного монома к списку мономов в полиноме, например, метод Add_monom из класса Полиномов
}
0
0 / 0 / 0
Регистрация: 21.03.2010
Сообщений: 9
24.10.2011, 00:42  [ТС]
спасибо!
а не посоветуете как лучше описать функцию add_monom из класса POLINOM?
чтобы в качестве аргумента в неё входил готовый моном, и присутствовал список. я уже просто голову сломал((
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.10.2011, 00:42
Помогаю со студенческими работами здесь

Ошибка при выводе <<<
Добрый день! На второй строке выбивает мне ошибку. Почему? print &lt;&lt;&lt;_FORM_ &lt;form method=&quot;POST&quot;...

Ошибка при выводе
Здравствуйте, написал вот такую програмку по нахождению позиции числа n в последовательности Фибоначчи. На вход подается сумма четных...

Ошибка при выводе
Написал программу, правда не до конца, но уже столкнулся с ошибкой, при всех условиях, что были поставлены все действия выполняются...

Ошибка при выводе из бд
Здравствуйте, уже второй раз пишу, в прошлый раз кинули ссылки на другие статьи, якобы там ответы, но ответа так и не нашел, пишу...

Ошибка при выводе
есть файл вывода &lt;?php Error_Reporting(E_ALL &amp; ~E_NOTICE); // Устанавливаем соединение с базой данных ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru