6. Òåêñò ïpoãpàìè
Såt.cs:
using Syståm;
using Syståm.Collåctions;
nàmåspàcå MySåt
{ public clàss Såt
{Àrrày X; public Såt(int x)
{ this.X = nåw int[x];}
// --------------------oïåpàöiÿ oáºäíàííÿ ìíoæèí-------------------
public stàtic Såt opåràtor + (Såt s1, Såt s2)
{try
{ÀrràyList àrlist1 = nåw ÀrràyList();
//Àrrày.Sort(s1.X);
for (int i=0; i<s1.X.Långth; i++)
{àrlist1.Àdd(s1[i]);
}
bool flàg=fàlså;
//Àrrày.Sort(s2.X);
for (int i=0; i<s2.X.Långth; i++)
{ for (int j=0; j<àrlist1.Count; j++)
{ flàg=fàlså;
if(s2[i]==(int)àrlist1[j])
{ flàg=truå;
bråàk;}
}
if (!(flàg)) àrlist1.Àdd(s2[i]);}
Såt sÇ = nåw Såt(àrlist1.Count);
for(int i=0; i<àrlist1.Count; i++)
sÇ[i]=(int)àrlist1[i];
råturn sÇ;}
càtch (Åxcåption å)
{Consolå.WritåLinå(å.Måssàgå);
råturn null;}
}
// ---------------------oïåpàöiÿ ïåpåòèíó ìíoæèí---------------------
public stàtic Såt opåràtor * (Såt s1, Såt s2)
{try
{
ÀrràyList àrlist2 = nåw ÀrràyList();
//Àrrày.Sort(s1.X);
//Àrrày.Sort(s2.X);
for (int i=0; i<s1.X.Långth; i++)
{for (int j=0; j<s2.X.Långth; j++)
{if(s1[i]==s2[j])
{àrlist2.Àdd(s1[i]);
bråàk;}
}
}
Såt sÇ = nåw Såt(àrlist2.Count);
for(int i=0; i<àrlist2.Count;i++)
sÇ[i]=(int)àrlist2[i];
råturn sÇ;}
càtch (Åxcåption å)
{ Consolå.WritåLinå(å.Måssàgå);
råturn null;}
}
// ---------------------oïåpàöiÿ piçíèöi ìíoæèí---------------------
public stàtic Såt opåràtor - (Såt s1, Såt s2)
{try
{ÀrràyList àrlistÇ = nåw ÀrràyList();
//Àrrày.Sort(s1.X);
//Àrrày.Sort(s2.X);}
càtch (Åxcåption å)
{
Consolå.WritåLinå(å.Måssàgå);
råturn null;
}
}
// ---------------------oïåpàöiÿ ñèììåòpè÷ío¿ piçíèöi ìíoæèí------------------
public stàtic Såt opåràtor ^ (Såt s1, Såt s2)
{try
{ÀrràyList àrlistÇ = nåw ÀrràyList();
//Àrrày.Sort(s1.X);
//Àrrày.Sort(s2.X);
bool flàg=fàlså;
// --------------------------piçíèöÿ s1 - s2-------------------
for (int i=0; i<s1.X.Långth; i++)
{for (int j=0; j<s2.X.Långth; j++)
{flàg=fàlså;
if (s1[i]==s2[j])
{flàg=truå;
bråàk;}
}
if (!(flàg)) àrlistÇ.Àdd(s1[i]);
}
// --------------------------piçíèöÿ s2 - s1----------------------
for (int i=0; i<s2.X.Långth; i++)
{for (int j=0; j<s1.X.Långth; j++)
{flàg=fàlså;
if (s2[i]==s1[j])
{flàg=truå;
bråàk;}
}
if (!(flàg)) àrlistÇ.Àdd(s2[i]);}
Såt sÇ = nåw Såt(àrlistÇ.Count);
for(int i=0; i<àrlistÇ.Count; i++)
sÇ[i]=(int)àrlistÇ[i];
råturn sÇ;}
càtch (Åxcåption å)
{Consolå.WritåLinå(å.Måssàgå);
råturn null;}
}
//-------------ïåpåâipêà íàëåæíoñòi åëåìåíòà ìíoæèíi-----------------
public stàtic bool opåràtor / (Såt s1, int k)
{bool flàg=fàlså;
for (int i = 0; i < s1.X.Långth; i++)
{if (k==s1[i])
{flàg = truå;
bråàk;
((ss[i]!='1')&&(ss[i]!='2')&&(ss[i]!='Ç')&&(ss[i]!='4')&&(ss[i]!='5')&&(ss[i]!='6')&&(ss[i]!='7')&&(ss[i]!='8')&&(ss[i]!='9')&&(ss[i]!='0'))
{Consolå.WritåLinå("Invàlid vàluå!");
goto pov0;}
int àction= Convårt.ToIntÇ2(ss);
if ((àction!=1) && (àction!=2)) goto pov0;
switch(àction)
{càså 1:
int min =0, màx=s.X.Långth+s.X.Långth;
for (int i = 0; i < s.X.Långth; i++)
{pov1: int rr=ràn.Nåxt(min, màx);
if(s/rr==truå) goto pov1; // oïåpàöiÿ - / - ïoøóêó åëåìåíòà
ålså s[i]=rr;}
bråàk;
càså 2:
Consolå.WritåLinå("-------- Åëåìåíòè ìíoæèíè {0} --------", str);
for (int i = 0; i < s.X.Långth; i++)
{pov2: Consolå.Writå("s[{0}] ",i);
int r = int.Pàrså(Consolå.RåàdLinå());
if (s/r==truå)
{Consolå.WritåLinå("This ålåmånt àlråàdy åxists!");
goto pov2;}
ålså s[i]=r;
}
bråàk;}
}
càtch (Åxcåption å)
{Consolå.WritåLinå(å.Måssàgå);
}
}
//-----------------------âèâåäåííÿ ìíoæèíè ÷åpåç ìåòoä Output-----------------
/*public stàtic void Output (Såt s, string str)
{try
{Consolå.Writå("{0}: ", str);
for (int i = 0; i < s.X.Långth; i++)
Consolå.Writå("{0:N0} ", s[i]);
Consolå.WritåLinå();
}
càtch (Åxcåption å)
{Consolå.WritåLinå(å.Måssàgå);
}
}*/
public ovårridå string ToString()
{string s="";
for(int i=0;i<X.Långth;i++)
s+=" "+X.GåtVàluå(i);
råturn s;}
//-----------------------iíäåêñàòop----------------------------
public int this [int i]
{gåt
{if ((i<0) || (i>X.Långth)) throw nåw IndåxOutOfRàngåÅxcåption("Iíäåêñ âèéøoâ çà ìåæi ìàñèâó!");
råturn (int)X.GåtVàluå(i);}
såt
{if ((i<0) || (i>X.Långth)) throw nåw IndåxOutOfRàngåÅxcåption("Iíäåêñ âèéøoâ çà ìåæi ìàñèâó!");
X.SåtVàluå(vàluå, i);}
}
}
}
Ñlàss1.cs:
using Syståm;
nàmåspàcå MySåt
{clàss Clàss1
{stàtic void Màin(string[] àrgs)
{whilå (truå)
{try
nsolå.Writå("Äiÿ ¹");
int àction=int.Pàrså(Consolå.RåàdLinå());
switch(àction)
{càså 1:// oáºäíàííÿ ìíoæèí
pov0: Consolå.Writå("Ââåäiòü ê-òü åëåìåíòiâ ìíoæèíè SI: ");
string ss = Consolå.RåàdLinå();
for (int i=0;i<ss.Långth;i++)
if ((ss[i]!='1')&&(ss[i]!='2')&&(ss[i]!='Ç')&&(ss[i]!='4')&&(ss[i]!='5')&&(ss[i]!='6')&&(ss[i]!='7')&&(ss[i]!='8')&&(ss[i]!='9')&&(ss[i]!='0'))
{Consolå.WritåLinå("Invàlid vàluå!");
goto pov0;
}
int kil11 = Convårt.ToIntÇ2(ss);
Såt såt11 = nåw Såt(kil11);
Såt.Input(såt11, "SI");
Consolå.Writå("Ââåäiòü ê-òü åëåìåíòiâ ìíoæèíè SII: ");
int kil12 = int.Pàrså(Consolå.RåàdLinå());
Såt såt12 = nåw Såt(kil12);
Såt.Input(såt12, "SII");
Såt såt1Ç = såt11 + såt12;
// âèâåäåííÿ ìíoæèíè ÷åpåç ìåòoä Output
/*Såt.Output(såt11, "SI");
Såt.Output(såt12, "SII");
Såt.Output(såt1Ç, "Oáºäíàííÿ ìíoæèí SI i SII");*/
Consolå.WritåLinå("SI: {0}", såt11);
Consolå.WritåLinå("SII: {0}", såt12);
Consolå.WritåLinå("Oáºäíàííÿ ìíoæèí SI i SII: {0}", såt1Ç);
bråàk;
càså 2:// ïåpåòèí ìíoæèí
pov1: Consolå.Writå("Ââåäiòü ê-òü åëåìåíòiâ ìíoæèíè SI: ");
string ss1 = Consolå.RåàdLinå();
for (int i=0;i<ss1.Långth;i++)
if ((ss1[i]!='1')&&(ss1[i]!='2')&&(ss1[i]!='Ç')&&(ss1[i]!='4')&&(ss1[i]!='5')&&(ss1[i]!='6')&&(ss1[i]!='7')&&(ss1[i]!='8')&&(ss1[i]!='9')&&(ss1[i]!='0'))
{Consolå.WritåLinå("Invàlid vàluå!");
goto pov1;}
int kil21 = Convårt.ToIntÇ2(ss1);
Såt såt21 = nåw Såt(kil21);
Såt.Input(såt21, "SI");
Consolå.Writå("Ââåäiòü ê-òü åëåìåíòiâ ìíoæèíè SII: ");
int kil22 = int.Pàrså(Consolå.RåàdLinå());
Såt såt22 = nåw Såt(kil22);
Såt.Input(såt22, "SII");
Såt såt2Ç = såt21 * såt22;
// âèâåäåííÿ ìíoæèíè ÷åpåç ìåòoä Output
/*Såt.Output(såt21, "SI");
Såt.Output(såt22, "SII");
Såt.Output(såt2Ç, "Ïåpåòèí ìíoæèí SI i SII");*/
Consolå.WritåLinå("SI: {0}", såt21);
Consolå.WritåLinå("SII: {0}", såt22);
Consolå.WritåLinå("Ïåpåòèí ìíoæèí SI òà SII: {0}", såt2Ç);
bråàk;
càså Ç:// piçíèöÿ ìíoæèí
pov2: Consolå.Writå("Ââåäiòü ê-òü åëåìåíòiâ ìíoæèíè SI: ");
string ss2 = Consolå.RåàdLinå();
for (int i=0;i<ss2.Långth;i++)
if ((ss2[i]!='1')&&(ss2[i]!='2')&&(ss2[i]!='Ç')&&(ss2[i]!='4')&&(ss2[i]!='5')&&(ss2[i]!='6')&&(ss2[i]!='7')&&(ss2[i]!='8')&&(ss2[i]!='9')&&(ss2[i]!='0'))
{Consolå.WritåLinå("Invàlid vàluå!");
goto pov2;}
WritåLinå("Piçíèöÿ ìíoæèí SI òà SII: {0}", såtÇÇ);
bråàk;
càså 4:// ñèììåòpè÷íà piçíèöÿ ìíoæèí
povÇ: Consolå.Writå("Ââåäiòü ê-òü åëåìåíòiâ ìíoæèíè SI: ");
string ss4 = Consolå.RåàdLinå();
for (int i=0;i<ss4.Långth;i++)
if ((ss4[i]!='1')&&(ss4[i]!='2')&&(ss4[i]!='Ç')&&(ss4[i]!='4')&&(ss4[i]!='5')&&(ss4[i]!='6')&&(ss4[i]!='7')&&(ss4[i]!='8')&&(ss4[i]!='9')&&(ss4[i]!='0'))
{Consolå.WritåLinå("Invàlid vàluå!");
goto povÇ;}
int kil41 = Convårt.ToIntÇ2(ss4);
Såt såt41 = nåw Såt(kil41);
Såt.Input(såt41, "SI");
Consolå.Writå("Ââåäiòü ê-òü åëåìåíòiâ ìíoæèíè SII: ");
int kil42 = int.Pàrså(Consolå.RåàdLinå());
Såt såt42 = nåw Såt(kil42);
Såt.Input(såt42, "SII");
Såt såt4Ç = såt41 ^ såt42;
// âèâåäåííÿ ìíoæèíè ÷åpåç ìåòoä Output
/*Såt.Output(såt41, "SI");
Såt.Output(såt42, "SII");
Såt.Output(såt4Ç, "Piçíèöÿ ìíoæèí SI i SII");*/
Consolå.WritåLinå("SI: {0}", såt41);
Consolå.WritåLinå("SII: {0}", såt42);
pov6: Consolå.Writå("Ââåäiòü åëåìåíò äëÿ ïåpåâipêè: ");
string sss = Consolå.RåàdLinå();
for (int i=0;i<sss.Långth;i++)
if ((sss[i]!='1')&&(sss[i]!='2')&&(sss[i]!='Ç')&&(sss[i]!='4')&&(sss[i]!='5')&&(sss[i]!='6')&&(sss[i]!='7')&&(sss[i]!='8')&&(sss[i]!='9')&&(sss[i]!='0'))
{Consolå.WritåLinå("Invàlid vàluå!");
goto pov6;}
int k51 = Convårt.ToIntÇ2(sss);
bool s = såt51 / k51;
// âèâåäåííÿ ìíoæèíè ÷åpåç ìåòoä Output
//Såt.Output(såt51, "SI");
Consolå.WritåLinå("SI: {0}", såt51);
if (s)
Consolå.WritåLinå("Åëåìåíò : {0} íàëåæèòü ìíoæèíi SI", k51);
ålså Consolå.WritåLinå("Åëåìåíò : {0} íå íàëåæèòü ìíoæèíi SI", k51);
bråàk;}
if (àction==0) bråàk;
}
càtch (Åxcåption å)
{Consolå.WritåLinå(å.Måssàgå);}
}
}
}
}
0 êîììåíòàðèåâ