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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.05.2011, 20:25   #1
Secretnaja
Новичок
Джуниор
 
Регистрация: 02.05.2011
Сообщений: 2
Восклицание статистический контроль качества

Для выборки, рассмотренной в работе № 1, провести статистический контроль качества
x1=1
p1=0,18
Δ=0,3
l=11
α=0,025
Метод оптимизации Множество Парето
листинг 1 лабы:
Программа
//подключение модулей
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include "math.h"
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
void __fastcall TForm1::Button1Click(TObject *Sender) //функция нажатия кнопки
{
Form1->ListBox1->Clear();//очищаем ListBox1
int b[10]={0,0,0,0,0,0,0,0,0,0}; //массив
float F;
//берем данные из Edit и записываем в переменные
float a=Form1->Edit1->Text.ToDouble();
int n=Form1->Edit2->Text.ToInt();
for(int i=1;i<=n;i++){
int x=random(12)+1;// диапазон [1.10]( в 0 не работает)
F=log(x)/a; //считаем функцию
Form1->ListBox1->Items->Add(-F); // записываем результат в ListBox1
//считаем попадания в отрезок
for(int c=0;c<10;c++){
if((F>=(1*c)) && (F<1*(c+1))){
b[c]=b[c]+1;
}
}
}
//очищаем форму
Form1->Canvas->Pen->Color=clWhite;
Form1->Canvas->Brush->Color=clWhite;
Form1->Canvas->Rectangle(0,450,410,0);
//рисуем график
Form1->Canvas->Pen->Color=clRed;
Form1->Canvas->Pen->Width=3;
Form1->Canvas->MoveTo(50,400);
Form1->Canvas->LineTo(400,400);
Form1->Canvas->MoveTo(50,400);
Form1->Canvas->LineTo(50,100);
//рисуем гистограмму
for(int i=0;i<10;i++){
Form1->Canvas->Pen->Color=clWhite;
Form1->Canvas->Pen->Width=1;
Form1->Canvas->Brush->Color=clGreen;
Form1->Canvas->Rectangle(50+(30*i),400,50+(30*(i+ 1)),400-(b[i]*2));
}
}

Последний раз редактировалось Secretnaja; 02.05.2011 в 20:26. Причина: заголовок не верный был
Secretnaja вне форума Ответить с цитированием
Старый 04.05.2011, 16:45   #2
Assemblerru
Форумчанин
 
Регистрация: 28.01.2010
Сообщений: 224
По умолчанию

Цитата:
Сообщение от Secretnaja Посмотреть сообщение
Form1->ListBox1->Clear();//очищаем ListBox1
Не забудь здесь удалять 0 строку из текста т.к. у меня в подобном случае остовалась новая пустая строка при повторном добавлении в список - новое срабатывание нажатия на Button1(в твоем случае ето Form1->ListBox1->Items->Delete(0)
Цитата:
Сообщение от Secretnaja Посмотреть сообщение
//берем данные из Edit и записываем в переменные
float a=Form1->Edit1->Text.ToDouble();
int n=Form1->Edit2->Text.ToInt();
ладно по тексту мне это понятно.
Цитата:
Сообщение от Secretnaja Посмотреть сообщение
F=log(x)/a; //считаем функцию
а далее зачем ты береш логарифм от числа Х (целое число) и делиш получиный результат на а (число с плавающей запятой).
Мне кажется ты должин в этом случае произвести явное привидение типов (смотри учебник по С++)

далее ты сравниваеш число с плаваюшей запятой
Цитата:
Сообщение от Secretnaja Посмотреть сообщение
//считаем попадания в отрезок
for(int c=0;c<10;c++){
if((F>=(1*c)) && (F<1*(c+1)))
при чем F- число с плавающей запятой а с- целое. Здесь нужно F привести к целому числу.

-----------------------------
А вот если бы было твое задание и если можеш опеши метод оптимизации Множество Парето (я чесно не помню)
всему свое время как зиме и весне
и каждому солнцу свой неба кусок
Assemblerru вне форума Ответить с цитированием
Старый 08.05.2011, 08:55   #3
Secretnaja
Новичок
Джуниор
 
Регистрация: 02.05.2011
Сообщений: 2
Восклицание

Там просто контроль качества оказывается не надо пока Парето трогать))

//---------------------------------------------------------------------------

#include <vcl.h>
#include <math.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
#pragma resource "XPStyle.res"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
//очищаем
ListBox1->Clear(); ListBox2->Clear();
Memo1->Clear();

int graf[11]={0,0,0,0,0,0,0,0,0,0,0};
float fun;
float a=Edit1->Text.ToDouble();
int b=Edit2->Text.ToInt();
for(int i=1;i<=Edit3->Text;i++){
int m=1; float x=0;
for(int j=0;j<=Edit2->Text;j++){
float y=random(3);
x=x+(a*(exp(-a*y)));
if(j!=0)
m=m*j;
}
fun=(((pow(a*(a*x),b))/m)*(exp(-a*x)))*1000;
Memo1->Lines->Add(fun);//floor(fun*1000)/1000);
//zapolnjaem massiv
for(int c=0;c<10;c++){
if((fun>=(5*c)) && (fun<5*(c+1))){
graf[c]=graf[c]+1;
c=10;
}
}
}
//clear
Image1->Canvas->Pen->Color=clWhite;
Image1->Canvas->Brush->Color=clWhite;
Image1->Canvas->Rectangle(32,308,350,0);
Image1->Canvas->Rectangle(28,308,353,60);
//vyvodim grafik
for(int i=0;i<10;i++){
Image1->Canvas->Brush->Color=clRed;
Image1->Canvas->Rectangle(28+(30*i),308,28+(30*(i+ 1)),308-(graf[i]*2));
Image1->Canvas->Brush->Color=clWhite;
Image1->Canvas->TextOutA(10+(30*(i+1)),290-(graf[i]*2),graf[i]);
}
//задание 2
double kriterij;
int symma=0;
for(int i=0;i<=10;i++){
symma=symma+pow(graf[i],2);
}
kriterij=(symma*0.022)-200;
if((kriterij>=23.5) && (kriterij<=31.5))
Label9->Caption="Критерий качества соответсвует норме";
else
Label9->Caption="Критерий качества НЕ соответсвует норме";
Label8->Caption="x= ";
Label8->Caption=Label8->Caption+kriterij;
Secretnaja вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
статический стек tuyana)) Visual C++ 0 04.04.2011 17:16
статический массив IrinaSS Общие вопросы C/C++ 2 08.12.2010 19:31
Потеря качества изображения при копировании Herly Общие вопросы Delphi 14 11.02.2010 20:08
Проверка качества датчика псевдослучайных чисел SerG1ON Microsoft Office Excel 0 22.10.2009 15:38
Помогите создать кнопку-картику хорошего качества! ДЫМ Общие вопросы Delphi 11 15.06.2008 21:32