eMatematikas Prisijunk Forumas Užduotys Testai Pradžia

Kaip reikia surasti vienodas reikšmes masyve? [FPS]


Tarkime turime masyvą, kuriame yra žodžiai:

Vienas
Trys
Trys
Du
Du
Vienas
Vienas
Trys

ir mums reikia į kitą masyvą sudėti žodžius, kurie buvo paminėti pirmame masyve tarkime taip:

Vienas
Du
Trys

tvarka nėra svarbi

aš nesuprantu kaip reikia išrinkti ir įdėti juos, šiuo atveju, tik tris kartus į naują masyvą

pakeista prieš 11 m

Iteruok pro masyvą ir dėk žodžius į naują masyvą, bet prieš tai patikrink ar jame nėra to žodžio ir tiek. Efektyvesnis būdas (nors gal ir ne visais atvejais) būtų pirmiau išrikiuoti masyvą, tada gausis taip, kad visi vienodi žodžiai bus šalia vienas kito ir tada jau paprasta gauti rezultatą. Bet aišku, jei norima efektyvumo tai ir normalu rūšiavimo algoritmą reikia naudoti, o ne burbuliuką, bet efektyvumas turbūt tavęs nedomina.

pakeista prieš 11 m

Ačiū, tikrindamas ar jau yra toks žodis gavau teisingai. Egzamine nelabai rasiu laiko galvoti apie efektyvumą :D

Kaip reikėtų išrikiuoti masyvo reikšmes mažėjimo tvarka?

C kalbos algoritmas:

l=1;
do
{
    prielaida=0;
    for(i=0;i<dydis-l;i++)
        if(mas[i]<mas[i+1])
    {
        temp=mas[i];
        mas[i]=mas[i+1];
        mas[i+1]=temp;
        prielaida=1;
    }
    l++;
}
while(prielaida);

Dėkui

Nori sudalyvauti šioje temoje ir parašyti savo pranešimą? Prisijungti »