eMatematikas Prisijunk Forumas Užduotys Testai Pradžia

Informatikos Egzamino užduotis „Grybai“. C++ kalba.


Sveiki, reikia pagalbos. Gal galite padėti man pabaigti šią užduotį?
https://www.ematematikas.lt/upload/uploads/50000/5500/55955/p19dhnjpig368p16ruoeit185q1.png
Pradėtas mano kodas:
#include <iostream>
#include <fstream>
using namespace std;
const int a = 100;
void ivedimas(int &n, int D[], int B[], int R[], int L[])
{
    ifstream in ("duom.txt");
    in >> n;
    if(n >= 1 && n <=100){
    for(int i = 0; i < n; i++)
    {
        in >> D[i] >> B[i] >> R[i] >> L[i];
    }}
    in.close();
}
void skaiciavimas(int n, int D[], int B[], int R[], int L[])
{
    int B1[a];
    for(int i = 0; i < n; i++)
    {

        B1[i] = B[i];
    }
    for(int i = 0; i < n-1; i++)
        for(int j = i + 1; j < n; j++)
    {
        if(D[i] > D[j])
            {swap(D[i], D[j]);
            swap(B[i], B[j]);
            swap(R[i], R[j]);
            swap(L[i], L[j]);}
    }
    int v = 0;
    int D1[a];
    D1[v] = D[0];
    for(int i = 1; i <= n; i++)
    {
        if(D1[v]!=D[i])
        {
            v++;
            D1[v] = D[i];
        }
        else
        {
           
        }
    }




}
int main()
{
    int n, D[a], B[a], R[a], L[a];
    ivedimas(n,D,B,R,L);
    skaiciavimas(n,D,B,R,L);
    return 0;
}
Programoje aš surikiuoju masyvus, pasikartojančių dienų skaičius išmetu, bet kaip man reikia padaryti, kad būna tos pačios dienos sudėtų grybų masyvus ir pašalintų netinkamus?

Aš tai susikurčiau grybų struktūrą (bet atrodo to nurodymai neleidžia, tad turbūt reikęs be to daryti), kurioje saugočiau surinktų grybų kiekį konkrečią dieną. Tada susikurčiau to tipo masyvą, kurio dydis būtų lygus dienų skaičiui liepos mėnesį. Tada, kai nuskaitai duomenis, tai iš kart pridėk nuskaitytą grybų kiekį prie konkretaus masyvo elemento. Po nuskaitymo funkcijos tu jau turėsi atsakymą.


#include <iostream>
#include <fstream>
#include <iomanip>

using namespace std;

int n,baravykai[100],raudonikiai[100],lepsiai[100],diena, rau, bar, lep;

void nuskaityk()
{
    ifstream Df("U1.txt");
    {
        Df>>n;
        for(int i=1; i<=n; i++)
        {
          Df>>diena;
          Df>>bar>>rau>>lep;

          baravykai[diena]+=bar;
          raudonikiai[diena]+=rau;
          lepsiai[diena]+=lep;

        }

    }
    Df.close();
}
int ieskok_didz()
{
    int didz=baravykai[1]+raudonikiai[1]+lepsiai[1];
    for(int i=1; i<=31; i++)
    {
        if(didz<baravykai[i]+raudonikiai[i]+lepsiai[i])
        {
            didz=baravykai[i]+raudonikiai[i]+lepsiai[i];
        }
    }
    return didz;

}
void spausdink()
{
    for(int i=1; i<=31; i++)
    {
        if(baravykai[i]!=0 and raudonikiai[i]!=0 and lepsiai[i]!=0 )
        {
            cout<<i<<" "<<baravykai[i]<<" "<<raudonikiai[i]<<" "<<lepsiai[i]<<endl;
        }
    }

    for(int i=1; i<=31; i++)
    {
        if(baravykai[i]+raudonikiai[i]+lepsiai[i]==ieskok_didz())
        {
            cout<<i<<" "<<ieskok_didz();
        }
    }
}
int main()
{
    nuskaityk();
    ieskok_didz();
    spausdink();


    return 0;
}


Nu cia spausdinimas blogas ir su kintamaisias nekazkas, nu bet esme manau suprasi :)

pakeista prieš 11 m

Nori sudalyvauti šioje temoje ir parašyti savo pranešimą? Prisijungti »