Peršokti į turinį
  • ŽAIDIMAI
  • , ŽAIDIMAI
  • ŽAIDIMAI

Pagalbos su C++ uždaviniu


Blenfix

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 2711 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Recommended Posts

Sveiki, kažkodėl neveikia programa, gal kas padėtu išsiaiškint kame bėda?

 

/* Programuotojų maratonas
Gimnazijos programuotojai, rengdamiesi komandinėms varžyboms, surado svetainę
ir nusprendė surengti savaitės trukmės programavimo maratoną, per kurį reikia
išspręsti kuo daugiau uždavinių. Visi programuotojai sprendė skirtingus uždavinius.
Reikia suskaičiuoti, po kiek uždavinių išsprendė kiekvienas programuotojas per
savaitę, kiek uždavinių iš viso programuotojai išsprendė per savaitę ir kiek
uždavinių vidutiniškai išspręsta per dieną.
Duomenų failo pirmoje eilutėje įrašytas varžybose dalyvavusių programuotojų
skaičius n. Tolesnėse eilutėse surašyti skaičiai tokia tvarka: pirmasis skaičius
d rodo, kiek dienų programuotojas sprendė uždavinius, o likusieji d skaičių -
kiek uždavinių išsprendė kiekvieną dieną.

Pradinių duomenų failas "programuotojai.txt":
5
5 3 2 3 1 2
3 6 2 4
4 2 2 1 2
3 3 3 3
2 3 4

Rezultatų faile išvedama:
Kiekvieno programuotojo parašytas programų skaičius:
1  11
2  12
3  7
4  9
5  7
Iš viso parašyta programų: 46
Visi programuotojai iš viso dirbo dienų: 17
Per dirbtas dienas parašytų programų vidurkis: 2.71

Papildykite programa skaičiavimais:
  1) kuris programuotojas parašė daugiausią programų;
  2) kuris programuotojas parašė mažiausiai programų;
  3) kiek vidutiniškai per dieną parašė kiekvienas programuotojas;
Visus rezultatus išvesti į tą patį rezultatų failą.             
*/

#include <iostream>
#include <iomanip>
#include <fstream>
using namespace std;

const char CDFV[] = "programuotojai.txt";        
const char CRFV[] = "LukasND.txt";

int main(){
 int n, x, d;    
 int sk;                            //programuotojo parašytų programų skaičius
 int sum = 0;                    //iš viso parašytų programų suma
 int dk=0;                            //dienų kiekis
 float vid;                        //parašytų programų vidurkis
 ifstream df (CDFV);  
 ofstream rf (CRFV);  
 rf << "Kiekvieno programuotojo parašytas programų skaičius: " << endl;
 df >> n;
 for(int i = 1; i <= n; i++){
 df >> x;
     for(int a = 0; a <= x; a++) {
     df >> d;
     sk += d;
     sum += sk;
     dk++;
    }
    vid = sum / dk;
    rf << i << setw(4) << sk << endl;
    rf << "Iš viso parašyta programų:" << sum << endl;
    rf << "Visi programuotojai iš viso dirbo dienų:" << dk << endl;
    rf << "Per dirbtas dienas parašytų programų vidurkis: " << vid << endl;
}
  df.close();  
  rf.close();
return 0;
}
Redaguota , nario Blenfix
Nuoroda į komentarą
Dalintis per kitą puslapį

(redaguota)

N varžybose dalyvavusių programuotojų skaičius, x kiek dienų sprendė uždavinius, d kiek uzdaviniu issprende tam tikra diena. Kompijuoja viskas ok atsakymai neteisingi. Pirmam ife 0 ir neturi but iskaitytas, nes nulinio programuotojo nėra

Redaguota , nario Blenfix
Nuoroda į komentarą
Dalintis per kitą puslapį

#include <iomanip>
#include <fstream>
using namespace std;


const char CDFV[] = "programuotojai.txt";
const char CRFV[] = "LukasND.txt";


int main(){


int n, x, d;
int sk = 0;                            //programuotojo parašytų programų skaičius
int sum = 0;                    //iš viso parašytų programų suma
int dk = 0;                            //dienų kiekis                       //parašytų programų vidurkis


ifstream df (CDFV);
ofstream rf (CRFV);


rf << "Kiekvieno programuotojo parašytas programų skaičius: " << endl;
df >> n;


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


    df >> x;
    dk += x;


    for(int a = 1; a <= x; a++) {


         df >> d;
         sk += d;
    }


    sum += sk;
    rf << i << " "  << sk << endl;
    sk = 0;
}


rf << "Iš viso parašyta programų: " << sum << endl;
rf << "Visi programuotojai iš viso dirbo dienų: " << dk << endl;
rf << "Per dirbtas dienas parašytų programų vidurkis: " << fixed << setprecision(2) << (float) sum / dk << endl;


df.close();
rf.close();


return 0;
}

Prašom nedėkoti, geriau pasimokyti, kaip rašyti suprantamesnį, skaitomesnį kodą, kad kitą kartą galėčiau iškart padėti. Dėl ciklų - sakei blogai, kodėl - siūlau pačiam išsiaiškinti.

  • Teigiamai 2
Nuoroda į komentarą
Dalintis per kitą puslapį

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 2711 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Svečias
Ši tema yra užrakinta.
  • Šiame puslapyje naršo:   0 nariai

    • Nėra registruotų narių peržiūrinčių šį forumą.

Skelbimai


×
×
  • Sukurti naują...