Pereiti prie turinio

nemoku parasyti atrinkimo funkcijos


Rekomenduojami pranešimai

Stovykla

Krepšinio treneris nori pačius gabiausius sportininkus išleisti į krepšinio stovyklą. Dėl šios

priežasties jis visą sezoną suvedinėjo statistiką ir nusprendė išrinkti tuos krepšininkus, kurių

naudingumą įvertino m balų ir daugiau. Parašykite programą, kuri rastų:

 tų krepšininkų, kurie buvo išrinkti į stovyklą, numerių sąrašą;

 mažiausią naudingumo balą iš pradinio krepšininkų sąrašo;

 didžiausią naudingumo balą iš pradinio krepšininkų sąrašo.

49

Pradiniai duomenys:

Duomenų failo krepsininkai.txt pirmoje eilutėje įrašytas krepšininkų skaičius n (1 < n < 50) ir

naudingumo balas m. Kitose neilučių įrašytas žaidėjo numeris ir naudingumo balas, kurie yra

atskiriami tarpu. Vieno žaidėjo numeriui ir naudingumo balui yra skiriama viena eilutė.

Rezultatai:

Rezultatai yra saugomi tekstiniame faile atrinkti.txt. Rezultatų failo pirmoje eilutėje yra

išvedamas mažiausias ir didžiausias naudingumo balai, atskirti tarpu. Antroje rezultatų failo

eilutėje yra išvedamas išrinktų krepšininkų numerių sąrašas kiekvieno krepšininko numerį

atskiriant tarpu.

Duomenų ir rezultatų failų pavyzdys:

 

 

------------------------------------------------------------

 

Duomenų ir rezultatų failų pavyzdys:

krepsininkai.txt atrinkti.txt

7 6.8

3 10.2

12 5.3

2 6.8

9 7.5

14 5.1

10 4.9

22 7.1

 

--------------------------

Mano išsręstas uždavinys

 

----------------------------

 

#include <iostream>

#include <iomanip>

#include <fstream>

 

using namespace std;

void Skaitymas(int & n, double & m, int Z[], double B[]);

int Maziausias(int n, double B[]);

int Didziausias(int n, double B[]);

void Rasymas(double B[], int n);

void Isrinkimas(int n, double m, int Z[], double B[]);

 

int main()

{

int n; // krepsininku skaicius

double m; // naudingumo balas

int Z[100]; // zaidejo numeris

double B[100]; // zaidejo naudingumo balas

 

Skaitymas(n, m, Z, B);

Isrinkimas(n, m, Z. B);

Rasymas(B, n);

 

return 0;

}

void Skaitymas(int & n, double & m, int Z[], double B[])

{

ifstream fd("duomenys.txt");

fd >> n >> m;

for(int i=0; i <= n; i++){

fd >> Z >> B;

 

}

fd.close();

}

int Maziausias(int n, double B[])

{

int a = 0;

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

if(B < B[a]) a = i;

return a;

}

int Didziausias(int n, double B[])

{

int b = 0;

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

if(B > B) b = i;

return b;

}

void Isrinkimas(int n, double m, int Z[], double B[])

{

int I[100];

for(int i = 0; i < n; i++){

if(B => m)

I = Z;

}

}

void Rasymas(double B[], int n)

{

ofstream fr("rezultatai.txt");

int aa;

aa = Maziausias(n, B);

int bb;

bb = Didziausias(n, B);

fr << B[aa] << " " << B[bb] << endl;

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

fr << I << endl;

fr.close();

}

 

-----------------------

 

Išrinkimo funkcija neveikia.

 

_------------------------------------

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Išrinkimo funkcija neveikia.

 

void Isrinkimas(int n, double m, int Z[], double B[])
{
   int I[100];
  for(int i = 0; i < n; i++){
   if(B[i] => m)
       I[i] = Z[i];
  }
}

 

Funkcijos tipas void, ji nieko jum nepadaro ir jokio rezultato negrazina. Tikriausiai reikia grazinti tarpini rezultata, kuri saugot int I masyve ir ji perduoti rasymo funkcijai.

 

Taip pat reiktu aiskiau vadint kintamuosius :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...