User Tag List

Էջ 32 36-ից ԱռաջինԱռաջին ... 22282930313233343536 ՎերջինըՎերջինը
Ցույց են տրվում 466 համարից մինչև 480 համարի արդյունքները՝ ընդհանուր 536 հատից

Թեմա: C++

  1. #466
    Մշտական անդամ DavitH-ի ավատար
    Գրանցման ամսաթիվ
    20.09.2009
    Հասցե
    Հայաստան, Երևան
    Տարիք
    35
    Գրառումներ
    395
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Մեջբերում Ruzanna Stepanyan-ի խոսքերից Նայել գրառումը
    Հարգելիներս,

    շատ շնորհակալ եմ, որ որ արձագանքում եք ու օգնում եք ինձ, բայց իմ ինքնագործունեության արդյուքում գրած խնդրի թերությունների պատճառը այն էր, որ դուք շատ սիրուն քննակրկում եք ծավալել իմ խնդրի շուրջ, բայց վերջնական ինչ որ տարբերակ, որը կաշխատի ու ինձ կօգնի, էդպես էլ չտվեցիք: Իհարկե շնորհակալ եմ, որ օգնում եք, կարող էիք էսքանն էլ չանել:

    Չնայած ես որոշել եմ հանուն իմ աշակերտների խորանալ ու լավ սովորել , բայց երբ գրում եք բացատրությունը, խնդրում եմ խղճացեք ինձ, ու մի քիչ հասարակ տերմիններով բացատրեք, եթե իհարկե ժամանակ ունեք կամ ուզում եք ինձ օգնել:
    հենց հիմա հատուկ Ձեր ու Ձեր աշակերտների համար չեմ ալարի ու կգրեմ ու կուղարկեմ 100 % աշխատող տարբերակ

  2. Գրառմանը 1 հոգի շնորհակալություն է հայտնել.

    Ruzanna Stepanyan (18.10.2012)

  3. #467
    Մշտական անդամ DavitH-ի ավատար
    Գրանցման ամսաթիվ
    20.09.2009
    Հասցե
    Հայաստան, Երևան
    Տարիք
    35
    Գրառումներ
    395
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    #include <iostream>

    using namespace std;

    void main()
    {
    int i, j;
    double x[10], tmp;


    //զանգվածի ներմուծում
    for (i=0; i<10; i++)
    {
    cin >> x[i];
    cout << endl;
    }

    for (i=0; i<10; i++)
    {
    for(j=i+1;j<10;j++)
    {
    if(x[i] < x[j])
    {
    tmp = x[j];
    x[j]= x[i];
    x[i]= tmp;
    }
    }

    }

    for (i=0; i<10; i++)
    {
    cout << x[i] << " ";
    }

    }

  4. Գրառմանը 1 հոգի շնորհակալություն է հայտնել.

    Ruzanna Stepanyan (18.10.2012)

  5. #468
    Կեցցե թագավորը Varzor-ի ավատար
    Գրանցման ամսաթիվ
    16.03.2009
    Հասցե
    Երկիր մոլորակ, ՀՀ ք. Երևան
    Տարիք
    43
    Գրառումներ
    7,503
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)
    Մեջբերում DavitH-ի խոսքերից Նայել գրառումը
    for (i=1; i<n; i++)
    {
    for(j=i+1;j<n;j++)
    {
    if(x[i] < x[j])
    {
    tmp = a[j];
    x[j]= x[i];
    x[i]= tmp;
    }
    }
    }

    էէէ ախր ուշադիր չես եղել է
    տես վերցնում եմ ամենասկզբից
    առաջինըx[i] ու երկրորդը x[j]
    դրա համար j -ն սկսում եմ i+1 որ իքը իրա հետ չհամեմատեմ


    գիտեմ որ դասական տարբերակ ա դրա համար միշտ առաջինը էս եմ ասում արագության հարցում էլ դեմ չեմ ճիշտ ես ասում քոնը արագ ա
    Եղբայր, C++ում զանգվածնեը համարակալվում են 0-ից, հետևաբար i-ի ցիկլը պիտի սկսես 0-ից, որպեսզի յ=i+1 -ի պարագայում x[i] < x[j] պայմանի կատարման դեպքում 0 և 1 ինդեքսով տարրերը տեղերով փոխես
    Ու ինչպես տեսնում եմ արդեն գլխի ես ընկել, որ տենց պիտի լինի: Դրա ապացույցն է կոդի նոր տարբերակը
    Լոխ մունք ենք, մնացածը` լոխ են...

  6. Գրառմանը 2 հոգի շնորհակալություն են հայտնել.

    DavitH (19.10.2012), Ruzanna Stepanyan (18.10.2012)

  7. #469
    Լիարժեք անդամ Ruzanna Stepanyan-ի ավատար
    Գրանցման ամսաթիվ
    11.02.2012
    Գրառումներ
    81
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Մեջբերում DavitH-ի խոսքերից Նայել գրառումը
    #include <iostream>



    using namespace std;

    void main()
    {
    int i, j;
    double x[10], tmp;


    //զանգվածի ներմուծում
    for (i=0; i<10; i++)
    {
    cin >> x[i];
    cout << endl;
    }

    for (i=0; i<10; i++)
    {
    for(j=i+1;j<10;j++)
    {
    if(x[i] < x[j])
    {
    tmp = x[j];
    x[j]= x[i];
    x[i]= tmp;
    }

    }

    }

    for (i=0; i<10; i++)
    {
    cout << x[i] << " ";
    }

    }
    DavitH ջան շատ շնորհակալ եմ: Բայց նեղություն քաշեք, ինձ բացատրեք, բոլդ արած մասը տողերով, թե էդ j-ն ինչի համար է և այլն: Նախապես շատ մերսի:

  8. #470
    Կեցցե թագավորը Varzor-ի ավատար
    Գրանցման ամսաթիվ
    16.03.2009
    Հասցե
    Երկիր մոլորակ, ՀՀ ք. Երևան
    Տարիք
    43
    Գրառումներ
    7,503
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)
    Մեջբերում Ruzanna Stepanyan-ի խոսքերից Նայել գրառումը
    DavitH ջան շատ շնորհակալ եմ: Բայց նեղություն քաշեք, ինձ բացատրեք, բոլդ արած մասը տողերով, թե էդ j-ն ինչի համար է և այլն: Նախապես շատ մերսի:
    Եթե DavitH-ն չի նեղանա, ապա ես կբացատրեմ:
    j-ով ցկլը կազմվում է նրա համար, որպեսզի զանգվածի տարրը համեատվի իրեն հաջորդող բոլոր տարրերի հետ: Եթե հաջորդող տարրերից որևէ մեկը ավելի մեծ է, ապա այդ տարրի հետ տեղերով փոխում ենք, որպեսզի ավելի մեծ տարրը ավելի առաջ գա:
    Բնականաբար, քանի որ զանգվածի բոլոր տարրերը իրար հետ համեմատվում են, ապա ամեն j-ով ցիկլի ավարտից հետո i-երորդ տարրի արժեքը ամենամեծն է լինում i+1-ից մինչև n-1 տարրերի մեջ և փոքր է լինում i-1 տարրից, ինչն էլ ապահովում է, որ տարրերը նվազման կարգով դասավորված լինեն:

    Ըստ էության, եթե պահանջվեր տարրերը դասավորել աճման կարգով, ապա բավական է փոխել պայմանի տողում նշանը և խնդիրը կլուծվեր:
    Լոխ մունք ենք, մնացածը` լոխ են...

  9. Գրառմանը 1 հոգի շնորհակալություն է հայտնել.

    Ruzanna Stepanyan (29.10.2012)

  10. #471
    Մշտական անդամ DavitH-ի ավատար
    Գրանցման ամսաթիվ
    20.09.2009
    Հասցե
    Հայաստան, Երևան
    Տարիք
    35
    Գրառումներ
    395
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Մեջբերում Varzor-ի խոսքերից Նայել գրառումը
    Եթե DavitH-ն չի նեղանա, ապա ես կբացատրեմ:
    j-ով ցկլը կազմվում է նրա համար, որպեսզի զանգվածի տարրը համեատվի իրեն հաջորդող բոլոր տարրերի հետ: Եթե հաջորդող տարրերից որևէ մեկը ավելի մեծ է, ապա այդ տարրի հետ տեղերով փոխում ենք, որպեսզի ավելի մեծ տարրը ավելի առաջ գա:
    Բնականաբար, քանի որ զանգվածի բոլոր տարրերը իրար հետ համեմատվում են, ապա ամեն j-ով ցիկլի ավարտից հետո i-երորդ տարրի արժեքը ամենամեծն է լինում i+1-ից մինչև n-1 տարրերի մեջ և փոքր է լինում i-1 տարրից, ինչն էլ ապահովում է, որ տարրերը նվազման կարգով դասավորված լինեն:

    Ըստ էության, եթե պահանջվեր տարրերը դասավորել աճման կարգով, ապա բավական է փոխել պայմանի տողում նշանը և խնդիրը կլուծվեր:
    Չէ չեմ նեղանա
    են i=1-ի համար էլ ճիշտ ես, էտ դրա պատճառը անուշադիր գրելն ա

  11. Գրառմանը 1 հոգի շնորհակալություն է հայտնել.

    Varzor (19.10.2012)

  12. #472
    Լիարժեք անդամ Ruzanna Stepanyan-ի ավատար
    Գրանցման ամսաթիվ
    11.02.2012
    Գրառումներ
    81
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Դե լավ է, բոլորս էլ գոհ մնացինք Ապրեք շատ, ինձ օգնելու համար:

    Բայց ես մտածում եմ ճիշտ կլինի մասնագետի մոտ պարապեմ, որ ավելի խորությամբ սովորեմ, որպեսզի աշակերտներիս պատրաստեմ օլիմպիադայի:

  13. #473
    Մշտական անդամ DavitH-ի ավատար
    Գրանցման ամսաթիվ
    20.09.2009
    Հասցե
    Հայաստան, Երևան
    Տարիք
    35
    Գրառումներ
    395
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Մեջբերում Ruzanna Stepanyan-ի խոսքերից Նայել գրառումը
    Դե լավ է, բոլորս էլ գոհ մնացինք Ապրեք շատ, ինձ օգնելու համար:

    Բայց ես մտածում եմ ճիշտ կլինի մասնագետի մոտ պարապեմ, որ ավելի խորությամբ սովորեմ, որպեսզի աշակերտներիս պատրաստեմ օլիմպիադայի:
    ավելի լավ ա ուղակի վերցնեք C++-ի գիրքը ու կարդաք
    ինձ թվում ա ինքնուրույն էլ կարող էք սովորել մանավանդ, որ մի քիչ հիմք ունեք

  14. Գրառմանը 2 հոգի շնորհակալություն են հայտնել.

    Ruzanna Stepanyan (29.10.2012), Varzor (22.10.2012)

  15. #474
    Լիարժեք անդամ Ruzanna Stepanyan-ի ավատար
    Գրանցման ամսաթիվ
    11.02.2012
    Գրառումներ
    81
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Խնդիրս չի ստացվում, խնդրում եմ օգնեք.

    Խնդիր
    Տրված են հարթության երեք կետերի կոորդինատները: Հաշվել և արտածել այն կետի կոորդինատների գումարը, որն ամենից մոտ է գտնվում կոորդինատների սկզբնակետին:

    #include <iostream>
    #include <math.h>
    using namespace std;
    void main()
    {
    double x1, y1, x2, y2, x3, y3, d1, d2, d3, min, k, h;
    cout<<"x1="; cin>>x1;
    cout<<"y1="; cin>>y1;
    cout<<"x2="; cin>>x2;
    cout<<"y2="; cin>>y2;
    cout<<"x3="; cin>>x3;
    cout<<"y3="; cin>>y3;
    d1=sqrt((pow(x1,2))+(pow(y1,2)));
    d2=sqrt((pow(x2,2))+(pow(y2,2)));
    d3=sqrt((pow(x3,2))+(pow(y3,2)));
    if(d1<d2)
    {
    min=d1;
    h=1;
    }
    else
    {
    min=d2;
    h=2;
    }
    if(d3<min)
    {
    min=d3;
    h=3;
    }
    if(h=1)
    {
    k=x1+y1;

    }
    else
    if(h=2)
    {
    k=x2+y2;

    }
    else
    k=x3+y3;
    cout<<"k="<<k<<endl;
    }

  16. #475
    Լիարժեք անդամ MSGM-ի ավատար
    Գրանցման ամսաթիվ
    02.09.2008
    Գրառումներ
    131
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Կոդ:
    if(h=1)
    {
    k=x1+y1;
    
    }
    else
    if(h=2)
    {
    k=x2+y2;
    
    }
    else
    k=x3+y3;
    Պետք է լինի ==

  17. Գրառմանը 1 հոգի շնորհակալություն է հայտնել.

    Ruzanna Stepanyan (30.10.2012)

  18. #476
    Սկսնակ անդամ
    Գրանցման ամսաթիվ
    26.09.2008
    Գրառումներ
    40
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Մեջբերում Ruzanna Stepanyan-ի խոսքերից Նայել գրառումը
    Խնդիրս չի ստացվում, խնդրում եմ օգնեք.

    Խնդիր
    Տրված են հարթության երեք կետերի կոորդինատները: Հաշվել և արտածել այն կետի կոորդինատների գումարը, որն ամենից մոտ է գտնվում կոորդինատների սկզբնակետին:

    #include <iostream>
    #include <math.h>
    using namespace std;
    void main()
    {
    double x1, y1, x2, y2, x3, y3, d1, d2, d3, min, k, h;
    cout<<"x1="; cin>>x1;
    cout<<"y1="; cin>>y1;
    cout<<"x2="; cin>>x2;
    cout<<"y2="; cin>>y2;
    cout<<"x3="; cin>>x3;
    cout<<"y3="; cin>>y3;
    d1=sqrt((pow(x1,2))+(pow(y1,2)));
    d2=sqrt((pow(x2,2))+(pow(y2,2)));
    d3=sqrt((pow(x3,2))+(pow(y3,2)));
    if(d1<d2)
    {
    min=d1;
    h=1;
    }
    else
    {
    min=d2;
    h=2;
    }
    if(d3<min)
    {
    min=d3;
    h=3;
    }
    if(h=1)
    {
    k=x1+y1;

    }
    else
    if(h=2)
    {
    k=x2+y2;

    }
    else
    k=x3+y3;
    cout<<"k="<<k<<endl;
    }
    Պայմանների ստուգումը ճիշտ չի. ոչ թե if(h=1) եւ if(h=2), այլ if(h==1) եւ if(h==2)։

    Sent from my GT-P7310 using Tapatalk HD

  19. Գրառմանը 1 հոգի շնորհակալություն է հայտնել.

    Ruzanna Stepanyan (30.10.2012)

  20. #477
    Լիարժեք անդամ Ruzanna Stepanyan-ի ավատար
    Գրանցման ամսաթիվ
    11.02.2012
    Գրառումներ
    81
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Խնդրում եմ ասեք, թե ինչն եմ սխալ արել այս խնդրում, որ երկու պատասխան է ստացվում:

    Հաշվել և արտածել այն ամենամեծ քառնիշ թիվը, որը հանդիսանում է 3-ի աստիճան:

    #include <iostream>
    #include <math.h>
    using namespace std;
    void main()
    {
    int i;
    double k;
    for(i=9999; i>=1000; i--)
    {
    for(k=0; k<=100; k++)
    {
    if((pow(3,k)==i))
    {
    cout<<"i="<<i<<endl;
    break;
    }
    }
    }
    }

  21. #478
    Լիարժեք անդամ MSGM-ի ավատար
    Գրանցման ամսաթիվ
    02.09.2008
    Գրառումներ
    131
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Կոդ:
    #include <iostream>
    #include <math.h>
    using namespace std;
    void main()
    {
    int i;
    double k;
    bool s=false;
    for(i=9999; i>=1000; i--)
    {
    for(k=0; k<=100; k++)
    {
    if((pow(3,k)==i))
    {
    cout<<"i="<<i<<endl;
    s=true;
    break;
    }
    }
    if (s) break;
    }
    }
    Առաջարկում եմ ավելի կարճ լուծելու ձև
    Կոդ:
    #include <iostream>
    using namespace std;
    void main()
    {
    int ans = 1;
    while (ans * 3 < 10000) ans *= 3;
    cout << ans << endl;
    }

  22. #479
    Լիարժեք անդամ Ruzanna Stepanyan-ի ավատար
    Գրանցման ամսաթիվ
    11.02.2012
    Գրառումներ
    81
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Մեջբերում MSGM-ի խոսքերից Նայել գրառումը
    Կոդ:
    #include <iostream>
    #include <math.h>
    using namespace std;
    void main()
    {
    int i;
    double k;
    bool s=false;
    for(i=9999; i>=1000; i--)
    {
    for(k=0; k<=100; k++)
    {
    if((pow(3,k)==i))
    {
    cout<<"i="<<i<<endl;
    s=true;
    break;
    }
    }
    if (s) break;
    }
    }
    Առաջարկում եմ ավելի կարճ լուծելու ձև
    Կոդ:
    #include <iostream>
    using namespace std;
    void main()
    {
    int ans = 1;
    while (ans * 3 < 10000) ans *= 3;
    cout << ans << endl;
    }
    շնորհակալ եմ շատ:

    Ձեր առաջարկած տարբերակը շատ հավանեցի, բայց մի հարց տամ, չեմ կարող while (ans * 3 < 10000)-ի փոխարեն գրել while (ans < 10000)


    մեկ էլ խնդրում եմ ձեր կարմիր գրածները բացատրեք, դրանք ինձ շատ անծանոթ են
    Վերջին խմբագրող՝ Ruzanna Stepanyan: 10.11.2012, 22:59:

  23. #480
    Լիարժեք անդամ MSGM-ի ավատար
    Գրանցման ամսաթիվ
    02.09.2008
    Գրառումներ
    131
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Ձեր առաջարկած տարբերակը շատ հավանեցի, բայց մի հարց տամ, չեմ կարող while (ans * 3 < 10000)-ի փոխարեն գրել while (ans < 10000)
    Եթե պայմանը while (ans < 10000) լինի, ապա ans *= 3 գործողությունը կկատարվի նաև ans-ի՝ փնտրվող 3-ի աստիճանին հավասար լինելու դեպքում, ու ans-ը կդառնա 10000-ից մեծ թիվ: Դրա փոխարեն կարելի է գրել.
    Կոդ:
    do
    {
       ans *= 3;
    } while ( ans < 10000);
    մեկ էլ խնդրում եմ ձեր կարմիր գրածները բացատրեք, դրանք ինձ շատ անծանոթ են
    Քանի որ երկու ներդրված ցիկլ կա, ներսի ցիկլում break; անելը ընդհատում է միայն ներսի ցիկլը, դրա համար առաջին ավելացրած տողում հայտարարում եմ փոփոխական, որը false է, եթե պատասխանը դեռ չի գտնվել, ու true՝ հակառակ դեպքում: Երբ պատասխանը գտնվում է, երկրորդ ավելացված տողով փոփոխականը true եմ դարձնում, իսկ արտաքին ցիկլում՝ ներքինի ավարտից հետո, ստուգում եմ. եթե պատասխանը գտնվել է, ապա ընդհատում եմ արտաքին ցիկլը, եթե ոչ ցիկլը շարունակվում է:

Էջ 32 36-ից ԱռաջինԱռաջին ... 22282930313233343536 ՎերջինըՎերջինը

Թեմայի մասին

Այս թեման նայող անդամներ

Այս պահին թեմայում են 1 հոգի. (0 անդամ և 1 հյուր)

Էջանիշներ

Էջանիշներ

Ձեր իրավունքները բաժնում

  • Դուք չեք կարող նոր թեմաներ ստեղծել
  • Դուք չեք կարող պատասխանել
  • Դուք չեք կարող կցորդներ տեղադրել
  • Դուք չեք կարող խմբագրել ձեր գրառումները
  •