Pereiti prie turinio

Frisko

Nariai
  • Pranešimai

    25
  • Užsiregistravo

  • Lankėsi

  • Atsiliepimai

    0%

Reputacijos išklotinė

  1. Patinka
    Frisko sureagavo į Imago C++ funkcijos   
    #include <fstream> #include <iostream> using namespace std; const char CDfv[]="mokykla.txt"; const char CRfv[]="mokykla_rez.txt"; int main () { int n, m, max; ifstream fd(CDfv); ofstream fr(CRfv); // nuskaitom mokiniu kieki fd >> n; for (int i=0; i<n; i++) { // einam per kiekviena mokini max = 0; // reset for (int j=0; j<3; j++) // nuskaitom kiekviena mokinio bala { fd >> m; if (m > max) // ziurim ar naujas balas didesnis uz sena max = m; } fr << max << endl; } fd.close(); fr.close(); return 0; }
    EDIT: variantas su funkcija

    #include <fstream> #include <iostream> using namespace std; const char CDfv[]="mokykla.txt"; const char CRfv[]="mokykla_rez.txt"; int mokinioBalas(ifstream &fd, int balai) { int m, max = 0; for (int j=0; j<balai; j++) { fd >> m; if (m > max) max = m; } return max; } int main () { int n; ifstream fd(CDfv); ofstream fr(CRfv); fd >> n; for (int i=0; i<n; i++) { fr << mokinioBalas(fd, 3) << endl; } fd.close(); fr.close(); return 0; }
     
    EDIT 2: Pridejau komentaru prie tavo kodo, kurie gal pades kiek suprasti, kodel jis blogas

    #include <fstream> #include <iostream> #include <cmath> using namespace std; void mokykla() { int n,; // 1) sintakses klaida: nereikalingas kablelis; // 2) 'n' sioj vietoj nera lygus 'n' main() funkcijoj, tad jis niekad nera inicijuotas (turetu buti int n=3, pagal salyga). // Jei niekad nepriskiriama reiksme, 'n' paprastai bus kazkokia random reiksme, kuria paeme is atminties int s=0; // cikle: // 'fd', 'a', 'b' - nera tie patys, kurie buvo nurodyti main() funkcijoje, ir siuo atveju mes klaida. // kad sie kintamieji butu tie patys kaip main() funkcijoj, reikejo juos perduoti kaip funkcijos mokykla() parametrus; for (int i=1; i<=n; i++) { // sakykim sutvarkem 'fd', 'a', 'b' ir pasiekem sia vieta. fd>>a; // priskiriam kintamajam 'a' sekancia reikme is failo if (s<b) // reikejo 's' lyginti su 'a', nes tai duomuo, kuri nuskaitei s=b; } } const char CDfv[]="mokykla.txt"; const char CRfv[]="mokykla_rez.txt"; int main () { int n,b,c,d,s,a; ifstream fd(CDfv); ofstream fr(CRfv); fd>>n; for (int i=1; i<=n; i++) { // sakykim, kad funkcija mokykla() veikia: // pagal esama mokykla() implementacija, si funkcija pati nuskaito visus 3 mokinio balus, // tad fd>>a, fd>>b, fd>>c - nuskaito nebe esamo, bet sekancio mokinio balus mokykla(); fd>>b; // nereikia fd>>c; // nereikia fd>>d; // nereikia fr<<s<<endl; // cia naudojamas 's' nera lygus kintamajam 's', kuris naudojamas mokykla() funkcijoj. // kad 's' turetu musu surasta reiksme, butu reikeje perduoti 's' mokykla() funkcijai, kaip reference // ir tuo paciu pakoreguoti mokykla(), kad ji naudotu perduota 's', o ne savo kurtu. } fd.close(); fr.close(); return 0; }
  2. Patinka
    Frisko sureagavo į Tadas96 neisprendziu sito uzdavinio prasau pagalbos   
    #include <fstream> #include <iomanip> using namespace std; int n; double A[10]; int B[10]; void skaitom(); double atrenkam(); int kiek(); void spausdinam(); int main() { skaitom(); spausdinam(); return 0; } void skaitom() { ifstream fd("duom.txt"); fd >> n; for(int i = 0; i < n; i++) fd >> A[i] >> B[i]; fd.close(); } double atrenkam() { double sv = 0; for(int i = 0; i < n; i++) if((A[i] >=1) && (B[i] >=1)) sv = sv + A[i]; return sv; } int kiek() { int k = 0; for (int i = 0; i < n; i++) if((A[i] >=1) && (B[i] >=1)) k++; return k; } void spausdinam() { ofstream fr("rez.txt"); fr <<"Zuvu svoris: " << fixed << setprecision(2) << atrenkam() << endl; fr << kiek() << " skaniu zuvu"; fr.close(); }
×
×
  • Pasirinkite naujai kuriamo turinio tipą...