Hirdetés

Új hozzászólás Aktív témák

  • Gyuri16
    senior tag

    #include <iostream>
    #include <stdio.h>
    #include <sstream>
    #include <string>

    using namespace std;

    bool szamjegyeke(string);
    string spacevalfeltolt(string);
    int osszeg(int*, int);

    int main()
    {
    string szam;
    int tomb[6], i = 0;
    do
    {
    if(i) cout << "A meadott szamsor nem megefelelo!";
    system("pause");
    system("cls");
    cout << "Add meg a 6 szamjegyet: ";
    getline(cin, szam);
    if(szam.empty()) break;
    szam = spacevalfeltolt(szam);
    istringstream is(szam);
    is >> tomb[0] >> tomb[1] >> tomb[2] >> tomb[3] >> tomb[4] >> tomb[5];
    i++;
    }while(szam.size() < 6 || szamjegyeke(szam) || osszeg(tomb, 5) / 6 == tomb[5]);
    system("pause");
    }

    bool szamjegyeke(string s1)
    {
    for(int i = 0; i < s1.size(); i++)
    if(!isdigit(s1[i]))
    return false;
    return true;
    }

    string spacevalfeltolt(string s1)
    {
    string s2;
    for(int i = 0; i < s1.size(); i++)
    {
    s2 += s1[i];
    s2 += ' ';
    }
    return s2;
    }

    int osszeg(int *a, int hossz)
    {
    int eredmeny;
    for(int i = 0; i < hossz; i++)
    eredmeny += a[i];
    return eredmeny;
    }

    Ez valami beadandó?

    hello, latom uj vagy errefele, szoval egy par eszrevetel:
    1. egy masfel eves kerdesre valaszoltal, azota valoszinuleg megoldotta
    2. ez nem a c++ topic, ide sima c-t szokas irni
    (3. tobbnyire nem szokunk rogton mukodo programot irni valaszban, nem irjuk meg mas helyett a lecket, mert akkor semmi fejlodes nem lesz, csak jon az ujabb feladatokkal)

    a programodhoz: system("pause")-t hanyagold, rossz szokas egy ilyen egyszeru dolog miatt rendszerhivast hasznalni, nem beszelve arrol, hogy nem platformfuggetlen. a maradek ellenorzesenel te osztasz, pedig oda % jel kell. azon kivul ha jol latom az elso iteracion kivul mindig kiirja, hogy rosszak a szamok. a ciklusod vegen a feltetel se jo, a feladat szerint addig kell beolvasni amig nem kapsz ures sztringet, nalad pedig kilep ha rossz bemenetet kap (ahogy latom vagyot tettel oda, ami kicsit fura, nem ertem mit akartal elerni, igy most akkor lep ki a ciklusbol, ha egyik feltetel se teljesul). meg van par hiba, pl nem ellenorzod, hogy tenyleg beolvastal e 6 szamjegyet, igy ha kevesebbet adsz meg es meghivod az osszeg fuggvenyt, akkor meghal tulcimzessel

Új hozzászólás Aktív témák