wtorek, 7 czerwca 2022

Sum of sines (C++)

 #include <iostream>

#include <math.h>

#include <stdlib.h>

#include <time.h>


#define ss 8

using namespace std;


double y1(double b, double c)

{

return sin(b)+sin(c);

}

double y2(double b, double c)

{

double r;

r=2*sin(0.5*(b+c))*cos(0.5*(c-b));

return r;

}

double date[ss]={15.00,30.0,45.00,60.00,90.00,120.00,150.00,180.00};


double a1[ss],a2[ss];



int main(int argc, char **argv)

{

int k1,k2;

srand(time(NULL));

    for(int i=0;i<ss;i++)

    {

k1=rand()%ss;k2=rand()%ss;

a1[i]=y1(date[k1],date[k2]);

a2[i]=y2(date[k1],date[k2]);

cout<<a1[i]<<" ---- "<<a2[i]<<endl;

}


return 0;

}


sobota, 23 kwietnia 2022

Trigonometric - continue (C++)

 #include <iostream>

#include <math.h>

#include <fstream>

#define a 8


using namespace std;



double date[a]={0.00,30.00,45.00,60.00,90.00,180.00,270.00,360.00};


double f_Rad(double value)

{

return (value*3.14159265359)/180.00;

}

double msin[a],mcos[a],mtg[a],mctg[a];


int main(int argc, char **argv)

{

int i;

for(i=0;i<a;i++)

{

msin[i]=sin(f_Rad(date[i]));

mcos[i]=cos(f_Rad(date[i]));

mtg[i]=msin[i]/mcos[i];

mctg[i]=1.00/mtg[i];

}

fstream file("table.txt",ios::out);

if(file.good())

{

file<<"sin: 0,30,45,60,90,180,270,360\n";

for(i=0;i<a;i++)

{

file<<msin[i]<<"  ";

}

file<<"\n";

file<<"cos: 0,30,45,60,90,180,270,360\n";

for(i=0;i<a;i++)

{

file<<mcos[i]<<"  ";

}

file<<"\n";

file<<"tg: 0,30,45,60,90,180,270,360\n";

for(i=0;i<a;i++)

{

file<<mtg[i]<<"  ";

}

file<<"\n";

file<<"ctg: 0,30,45,60,90,180,270,360\n";

for(i=0;i<a;i++)

{

file<<mctg[i]<<"  ";

}

file<<"\n";

file.close();

}

return 0;

}


czwartek, 21 kwietnia 2022

Trigonometrict function (C++ Builder)

 


void __fastcall TForm1::TrackBar1Change(TObject *Sender)

{

 int x;

 double y,y1;

 x=TrackBar1->Position;

 Label1->Caption=IntToStr(x);

 y=(1.00*x);

 y1=y*(M_PI/180.00);

 Label2->Caption="sin: "+FloatToStrF(sin(y),ffGeneral,2,2);

 Label3->Caption="cos: "+FloatToStrF(cos(y),ffGeneral,2,2);

 Label4->Caption="tg: "+FloatToStrF(sin(y)/cos(y),ffGeneral,2,2);

 Label5->Caption="ctg:"+FloatToStrF(1.00/(sin(y)/cos(y)),ffGeneral,2,2);

 Label6->Caption="sin: (rad)  "+FloatToStrF(sin(y1),ffGeneral,2,2);

 Label7->Caption="cos: (rad)  "+FloatToStrF(cos(y1),ffGeneral,2,2);

 Label8->Caption="tg:  (rad)  "+FloatToStrF(sin(y1)/cos(y1),ffGeneral,2,2);

 Label9->Caption="ctg: (rad)  "+FloatToStrF(1.00/(sin(y1)/cos(y1)),ffGeneral,2,2);



}

piątek, 1 kwietnia 2022

Writing a text file into Word (C++ Builder)

 void __fastcall TForm1::Button1Click(TObject *Sender)

{

 fstream file;

 char* path="C:\\Users\\user\\winInstal.txt";

 Variant wordExe, wordValues;


 file.open(path, ios::in );

 if( file.good() )

    {

        string text;

        wordExe=Variant::GetActiveObject("Word.Application");

        wordValues=wordExe.OlePropertyGet("Selection");


        while( !file.eof() )

        {


            getline( file,text );

            wordValues.OlePropertySet("Text",text.c_str());

            wordValues.OleProcedure("Select");

            wordValues=Unassigned;

            wordExe=Unassigned;



        }


        file.close();


     }


     else

    ShowMessage("You can't open file");

}

czwartek, 27 stycznia 2022

Special sum function (C++ Builder)

 





__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
 srand(time(NULL));
}
//---------------------------------------------------------------------------
int* __fastcall TForm1::rand_Tab2(int *tab, int size_Tab, int find_Sum)
{
int i,sum;
int *result_Tab=new int [size_Tab];
for(i=0;i<size_Tab;i++)
result_Tab[i]=tab[i];
sum=0;
do
{
i=0;
do

{
result_Tab[i]=rand()%20;
         sum+=result_Tab[i];
         ++i;
}while (i<size_Tab);
if(sum!=find_Sum)
sum=0;

}while(sum!=find_Sum);

return result_Tab;

}
void __fastcall TForm1::Sort(int *tab, int s)
{
int i,j,k;
for(i=1;i<s;i++)
{
j=i;
k=tab[j];
while((j>0) && (tab[j-1]>k))
{
tab[j]=tab[j-1];
j--;
}
tab[j]=k;
}
}
void __fastcall TForm1::Button2Click(TObject *Sender)
{
 Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 int i,j,k,SUM;
 k=20;
 SUM=StrToInt(Edit1->Text);
 int **TAB=new int*[k];
 for(i=0;i<k;i++)
  TAB[i]=new int[k];
 for(i=0;i<k;i++)
 {
  TAB[i]=rand_Tab2(TAB[i],k,SUM);
 }
 for(i=0;i<k;i++)
  Sort(TAB[i],k);
 for(i=0;i<k;i++)
 {
  for(j=0;j<k;j++)
  {
   StringGrid1->Cells[j][i]=IntToStr(TAB[i][j]);
  }
 }
 for(i=0;i<k;i++)
  delete [] TAB[i];
 delete [] TAB;

}

środa, 12 stycznia 2022

this - example component TListBox - C++ Builder

 







TForm1 *Form1;
int number=4;
TListBox *newList[4];
TColor colors[4]={clBlue,clYellow,clGreen,clRed};
TColor penCol[4]={clWhite,clBlack,clYellow,clBlue};
AnsiString mFont[4]={"Arial","Times","Alchemist","GE Glob"};
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
 srand(time(NULL));
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
 int i,mLeft,mTop,mWidth,mHeight;
 mWidth=120;mHeight=240;
 mTop=Form1->Height/4;
 mWidth=Form1->Width/4;
 AnsiString a="ListBoxA";
 for(i=0;i<number;i++)
 {
  newList[i]=new TListBox(this);
  newList[i]->Name=a+IntToStr(i+1);
  newList[i]->Width=mWidth;
  newList[i]->Height=mHeight;
  newList[i]->Left=((i+1)*mWidth)-mWidth;
  newList[i]->Top=mTop;
  newList[i]->Brush->Color=colors[i];
  newList[i]->Font->Color=penCol[i];
  newList[i]->Font->Size=15;
  newList[i]->Font->Name=mFont[i];
  newList[i]->Parent=this;




 }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormDestroy(TObject *Sender)
{
 int i;
 for(i=0;i<number;i++)
 {
  delete newList[i];
 }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 int i,j;
  for(i=0;i<number*2;i++)
  {
   for(j=0;j<number;j++)
   {
     newList[j]->Items->Add(IntToStr(i+1)+") - Random(10) - "+IntToStr(1+rand()%10));
   }
  }

}




niedziela, 9 stycznia 2022

Simple chart (C++ Builder)

 



void __fastcall TForm1::Button1Click(TObject *Sender)

{

 int pwidth,pheight,centrx,centry,rvalue,svalue,i,j;

 pwidth=PaintBox1->Width;

 pheight=PaintBox1->Height;

 centrx=pwidth/2;

 centry=pheight/2;

 rvalue=15;

 svalue=10;

 PaintBox1->Canvas->Brush->Color=clYellow;

 PaintBox1->Canvas->FillRect(PaintBox1->Canvas->ClipRect) ;

 PaintBox1->Canvas->Pen->Color=clBlack;

 PaintBox1->Canvas->MoveTo(centrx,0);

 PaintBox1->Canvas->LineTo(centrx,pheight);

 PaintBox1->Canvas->MoveTo(0,centry);

 PaintBox1->Canvas->LineTo(pwidth,centry);

 PaintBox1->Canvas->Pen->Color=clBlue;

 for(i=centrx+rvalue;i<pwidth+rvalue;i+=rvalue)

 {

  PaintBox1->Canvas->MoveTo(i,centry-svalue);

  PaintBox1->Canvas->LineTo(i,centry+svalue);

 }

 j=1;

 for(i=centry-rvalue;i>0;i-=rvalue)

 {

  PaintBox1->Canvas->MoveTo(centrx-svalue,i);

  PaintBox1->Canvas->LineTo(centrx+svalue,i);

  PaintBox1->Canvas->TextOut(centrx+(2*svalue),i-(svalue-1),IntToStr(j));

  ++j;

 }

 PaintBox1->Canvas->Pen->Color=clRed;

 for(i=centrx-rvalue;i>0;i-=rvalue)

 {

  PaintBox1->Canvas->MoveTo(i,centry-svalue);

  PaintBox1->Canvas->LineTo(i,centry+svalue);

 }

 j=1;

 for(i=centry+rvalue;i<pheight+rvalue;i+=rvalue)

 {

  PaintBox1->Canvas->MoveTo(centrx-svalue,i);

  PaintBox1->Canvas->LineTo(centrx+svalue,i);

  PaintBox1->Canvas->TextOut(i-(svalue-5),centry-(2*svalue),IntToStr(j));

  ++j;

 }

 PaintBox1->Canvas->Pen->Color=clGreen;

 PaintBox1->Canvas->MoveTo(centrx,0);

 PaintBox1->Canvas->LineTo(centrx-svalue,rvalue*2);

 PaintBox1->Canvas->MoveTo(centrx,0);

 PaintBox1->Canvas->LineTo(centrx+svalue,rvalue*2);

 PaintBox1->Canvas->MoveTo(pwidth,centry);

 PaintBox1->Canvas->LineTo(pwidth-(rvalue*2),centry-svalue);

 PaintBox1->Canvas->MoveTo(pwidth,centry);

 PaintBox1->Canvas->LineTo(pwidth-(rvalue*2),centry+svalue);


 PaintBox1->Canvas->TextOut(centrx-(3*rvalue),centry+rvalue,"(0,0)");


 PaintBox1->Canvas->Pen->Color=clGreen;

 PaintBox1->Canvas->MoveTo(centrx,centry);

 PaintBox1->Canvas->LineTo(pwidth,0);

 PaintBox1->Canvas->TextOut(centrx+(centrx/2)+rvalue,centry-(centry/2),"y=x");



}