Keresés

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

  • m.zmrzlina

    senior tag

    válasz PandaMonium #3906 üzenetére

    A rendezést megvalósító fv-t átírtam a tanácsaid alapján (a ternary operator egyelőre maradt :-)), most így néz ki:

    int sortSwap(array<float,10> &arr, bool isAscending)
    {
    float temp=0;

    for (int i=0;i<arr.size()-1;i++)
    {
    for (int j=i+1;j<arr.size();j++)
    {
    if( isAscending ? arr.at(i)>arr.at(j) : arr.at(i)<arr.at(j))
    {
    temp=arr.at(i);
    arr.at(i)=arr.at(j);
    arr.at(j)=temp;
    }
    }
    }
    return 0;
    }

    Azt olvasom itt meg itt, hogy a void tipus mint visszatérési érték akkor használatos, amikor a függvényünk csak lépéseket hajt végre, de nem állít elő konkrét értéket. Az a kérdés, hogy nem célszerűbb-e ennek a fv-nek void tipust adni mivel ez sem csinál mást mint egy adott memóriacímtől kezdődő tömb elemeinek sorrendjét átrendezi?

    Ugyanez a kérdés a köv. két fv-re. Az egyik feltölt egy a main()-ban létrehozott tömböt:

    int fillArr(array<float,10> &arr, int rndL, int rndH, int rndSt)
    {
    srand(time(0));

    for(int i=0;i<arr.size();i++)
    {
    arr.at(i)=rand()%(rndH-rndL)+(rand()%100)/100.0 + rndSt;
    }
    return 0;
    }

    Ez pedig kiírja a std outputra:

    int printArr(array<float,10> &arr)
    {
    for(int i=0;i<arr.size();i++)
    {
    if(i%10==0)cout<<endl;
    cout<<arr.at(i)<<"\t";
    }
    return 0;
    }

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