Sveikas, pateikiu pirmąją užduotį C++ programavimo kalba.
#include <iostream>
#include <fstream>
#include <cmath>
const char CDfv [] = "duom.txt";
const char CRfv [] = "rez.txt";
const int CMax = 100;
using namespace std;
void Skaityti (int &n, int lyt[], int ranka[], int dyd[]);
int Kiek_Poru (int n, int lyt[], int ranka[], int dyd[], int lytis);
int Kiek_Atliekamu (int n, int lyt[], int ranka[], int dyd[], int lytis);
int main()
{
ofstream fr (CRfv);
int n;
int lyt[CMax], ranka[CMax], dyd[CMax];
Skaityti(n,lyt,ranka,dyd);
fr << Kiek_Poru(n,lyt,ranka,dyd,4) << endl;
fr << Kiek_Poru(n,lyt,ranka,dyd,3) << endl;
fr << Kiek_Atliekamu(n,lyt,ranka,dyd,4) << endl;
fr << Kiek_Atliekamu(n,lyt,ranka,dyd,3) << endl;
fr.close();
return 0;
}
void Skaityti (int &n, int lyt[], int ranka[], int dyd[])
{
ifstream fd(CDfv);
fd >> n;
for (int i = 0; i < n; i++)
{
fd >> lyt[i] >> ranka[i] >> dyd[i];
}
fd.close();
}
int Kiek_Poru (int n, int lyt[], int ranka[], int dyd[], int lytis)
{
int pora = 0;
int k = dyd[0];
for (int i = 0; i < n; i++)
{
for (int j = i + 1; j < n; j++)
{
if (lyt[i] == lytis && lyt[j]== lytis)
{
if (dyd[i] == dyd[j])
{
if (ranka[i]+ranka[j] == 3)
{
if (dyd[i]!=k)
{
pora++;
k = dyd[i];
}
}
}
}
}
}
return pora;
}
int Kiek_Atliekamu (int n, int lyt[], int ranka[], int dyd[], int lytis)
{
int atliekami = 0;
for (int i = 0; i < n; i++)
{
if (lyt[i] == lytis)
{
atliekami++;
}
}
atliekami -= Kiek_Poru(n,lyt,ranka,dyd,lytis)*2;
return atliekami;
}
Antrojoje užduotyje šokėjų skaičių n pasikeisk į 3 (šokėjų porų skaičių). Tai yra šios užduoties korekcija. Tikiuosi dabar užduotis tapo labiau suprantama.