Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не работает реализация схемы Горнера! Помогите!!!! 
:(
    Опции темы
Первокурсница
Дата 7.5.2008, 18:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 26.4.2008
Где: Оренбург

Репутация: нет
Всего: нет



Здравствуйте!
Вот реализовала схему Горнера на формах Visual C++! Вообще эта прога должна определять по введенным коэффициентам многочлена его приводимость! Ну, я запускаю, ввожу, а у него получаются все неприводимые, даже все заведомо приводимые! Ошибку никак не найду! Что делать???? Помогите!! Пожалуйста!!! smile 

Код

#pragma once


namespace горнеррр {

    using namespace System;
    using namespace System::ComponentModel;
    using namespace System::Collections;
    using namespace System::Windows::Forms;
    using namespace System::Data;
    using namespace System::Drawing;

    /// <summary>
    /// Summary for Form1
    ///
    /// WARNING: If you change the name of this class, you will need to change the
    ///          'Resource File Name' property for the managed resource compiler tool
    ///          associated with all .resx files this class depends on.  Otherwise,
    ///          the designers will not be able to interact properly with localized
    ///          resources associated with this form.
    /// </summary>
    public ref class Form1 : public System::Windows::Forms::Form
    {
    public:
        Form1(void)
        {
            InitializeComponent();
            //
            //TODO: Add the constructor code here
            //
        }

    protected:
        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        ~Form1()
        {
            if (components)
            {
                delete components;
            }
        }
    private: System::Windows::Forms::TextBox^  textBox1;
    protected: 
    private: System::Windows::Forms::Button^  button1;
    private: System::Windows::Forms::Label^  label1;
    private: System::Windows::Forms::Label^  label2;

    private:
        /// <summary>
        /// Required designer variable.
        /// </summary>
        System::ComponentModel::Container ^components;

#pragma region Windows Form Designer generated code
        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        void InitializeComponent(void)
        {
            this->textBox1 = (gcnew System::Windows::Forms::TextBox());
            this->button1 = (gcnew System::Windows::Forms::Button());
            this->label1 = (gcnew System::Windows::Forms::Label());
            this->label2 = (gcnew System::Windows::Forms::Label());
            this->SuspendLayout();
            // 
            // textBox1
            // 
            this->textBox1->Location = System::Drawing::Point(40, 61);
            this->textBox1->Name = L"textBox1";
            this->textBox1->Size = System::Drawing::Size(175, 20);
            this->textBox1->TabIndex = 0;
            // 
            // button1
            // 
            this->button1->Location = System::Drawing::Point(125, 137);
            this->button1->Name = L"button1";
            this->button1->Size = System::Drawing::Size(90, 23);
            this->button1->TabIndex = 1;
            this->button1->Text = L"Приводимый\?";
            this->button1->UseVisualStyleBackColor = true;
            this->button1->Click += gcnew System::EventHandler(this, &Form1::button1_Click);
            // 
            // label1
            // 
            this->label1->AutoSize = true;
            this->label1->Location = System::Drawing::Point(91, 225);
            this->label1->Name = L"label1";
            this->label1->Size = System::Drawing::Size(35, 13);
            this->label1->TabIndex = 2;
            this->label1->Text = L"";
            // 
            // label2
            // 
            this->label2->AutoSize = true;
            this->label2->Location = System::Drawing::Point(19, 35);
            this->label2->Name = L"label2";
            this->label2->Size = System::Drawing::Size(151, 13);
            this->label2->TabIndex = 3;
            this->label2->Text = L"Коеффициенты многочлена:";
            // 
            // Form1
            // 
            this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
            this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
            this->ClientSize = System::Drawing::Size(284, 264);
            this->Controls->Add(this->label2);
            this->Controls->Add(this->label1);
            this->Controls->Add(this->button1);
            this->Controls->Add(this->textBox1);
            this->Name = L"Form1";
            this->Text = L"Form1";
            this->ResumeLayout(false);
            this->PerformLayout();

        }
#pragma endregion
    private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e)
             {
                System::String ^chisla, ^probel;
                System::String ^koef, ^cs;
                int i, k = 0;
                koef = "";
                cs = "";
                probel = " ";
                chisla = textBox1->Text;

                i = chisla->Length-1;
                while (chisla[i] != probel[0])
                {
                    cs = cs + chisla[i];
                    i = i - 1;
                }

                Int64 a_0 = System::Convert::ToInt64(cs);

                int n = 0;
                Int64 b_n, b_n_1;
                int d = 1, c = 0;
                while (d <= a_0)
                {
                    if ((a_0 % d) == 0) c = d;
                    d = d + 1;
                    while (k <= chisla->Length-1)
                    {
                        if (chisla[k] != probel[0]) koef = koef + chisla[k];
                        if (chisla[k] == probel[0])
                        {
                            Int64 a_n = System::Convert::ToInt64(koef);
                            n = n + 1;
                            if (n == 1) b_n_1 = a_n;
                            if (n > 1) 
                            {
                                b_n = a_n + c*b_n_1;
                                b_n_1 = b_n;
                            }
                        }
                        k = k + 1;
                    }
                }
                if (b_n == 0) label1->Text = System::Convert::ToString("Yes! :(");
                else label1->Text = System::Convert::ToString("No! :)");
             }
    };
}



PM MAIL   Вверх
JackYF
Дата 7.5.2008, 18:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: нет
Всего: 162



Первокурсница, отлаживать пробовала?


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
Первокурсница
Дата 7.5.2008, 19:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 26.4.2008
Где: Оренбург

Репутация: нет
Всего: нет



конечно! обижаете!
PM MAIL   Вверх
bsa
Дата 7.5.2008, 22:42 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: нет
Всего: 196



Это какой язык? C#? Ты разделом ошиблась, тебе в .NET
PM   Вверх
mr.DUDA
Дата 8.5.2008, 09:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 8
Всего: 232



Ужас... Математика... smile 

Чесать репу надо где в самом алгоритме бяка, а дотнет тут как бы ни при чём.


--------------------
user posted image
PM MAIL WWW   Вверх
NightmareZ
Дата 9.5.2008, 21:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


[хакер]
**


Профиль
Группа: Участник
Сообщений: 699
Регистрация: 10.8.2006

Репутация: 1
Всего: 13



Цитата(bsa @ 7.5.2008,  22:42)
Это какой язык? C#? Ты разделом ошиблась, тебе в .NET

Это C++/CLI.


--------------------
NightmareZ.net - мой блог и сайт, мои проекты и прочий трэш
Ely-Art.ru - наша маленькая домашняя арт-студия
mugcraft.ru - кружки на любой вкус
PM WWW ICQ Skype GTalk AOL YIM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1256 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.