Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.01.2014, 03:20   #1
программирование
Форумчанин
 
Регистрация: 22.04.2013
Сообщений: 162
Восклицание сумма и среднее арифметическое последовательности положительных чисел C++ (есть код программы) визуальный режим

доброй ночи, уважаемые программисты, школьники, студенты, а также все те, кто активно отвечает на темы в этом форуме. помогите, пожалуйста, написать программу на языке С++ Builder XE4 (ВИЗУАЛЬНЫЙ РЕЖИМ).

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

у меня есть код программы, но возможно вы могли бы его немного спростить:
Код:
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
this->sum  = 0;
this->mean = 0;
 
this->sequence.clear();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BExitClick(TObject *Sender)
{
this->Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BSetClick(TObject *Sender)
{
int val;
if( !TryStrToInt( EInput->Text, val ) )
    return;
 
if( !val )
    {
        Halt();
        return;
    }
 
BackEnd( val );
FrontEnd();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::EInputKeyPress(TObject *Sender, System::WideChar &Key)
{
if( Key == VK_RETURN )
    {
        BSetClick( Sender );
        return;
    }
 
 
if( !(Key == VK_BACK) &&
    !( String(Key) ).IsDelimiter( "1234567890", 1 ) )
    Key = 0;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Halt()
{
for( int i = 0; i < this->ComponentCount; i++ )
    {
    if( this->Components[i]->ClassNameIs( "TEdit" )   ||
        this->Components[i]->ClassNameIs( "TButton" ) ||
        this->Components[i]->ClassNameIs( "TMemo" )      )
        ( dynamic_cast<TControl*>( this->Components[i] ) )->Enabled = false;
    }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BackEnd( int value )
{
sequence.push_back( value );
 
 
this->sum = 0;
for( std::vector<int>::iterator itSequence  = sequence.begin();
                                itSequence != sequence.end();
                                ++itSequence )
    {
        this->sum += *itSequence;
    }
 
 
this->mean = static_cast<double> (this->sum) / sequence.size();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FrontEnd()
{
Memo1->Clear();
for( std::vector<int>::iterator itSequence  = sequence.begin();
                                itSequence != sequence.end();
                                ++itSequence )
    {
        Memo1->Lines->Add( *itSequence );
    }
 
ESum->Text  = this->sum;
EMean->Text = this->mean;
}
//---------------------------------------------------------------------------
заранее огромное спасибо всем за помощь!!!
программирование вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
программ, вычисляющуя сумму и среднее арифметическое последовательности положительных чисел, которые вводятся с клавиатуры С++ программирование Помощь студентам 0 23.01.2014 01:14
найти сумму и среднее арифметическое последовательности положительных чисел которые вводятся с клавиатуры C++ визуальный режим программирование Помощь студентам 2 21.01.2014 14:50
Найти среднее арифметическое чисел, принадлежащих промежутку [A,B) и количество положительных чисел стоящих на местах, кратных 4. Any333 Помощь студентам 2 11.12.2013 22:52
С++ Найти среднее арифметическое положительных и среднее арифметическое отрицательных чисел, минимальное по модулю число. Юрик 530 Помощь студентам 4 03.12.2011 16:26
Вводится 10 чисел. Найти среднее арифметическое положительных чисел и произведение отрицательных. Руся93 Помощь студентам 14 02.10.2011 13:12